有没有办法(例如,通过事件?)来确定 Swing 组件何时变为“可显示”——根据 JavadocsComponent.getGraphics http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html#getGraphics()?
我尝试这样做的原因是这样我就可以打电话getGraphics()
,并将其传递给我的组件“渲染策略”。
我试过添加一个ComponentListener
, but componentShown
似乎没有被叫到。还有什么我可以尝试的吗?
Thanks.
另外,是否可以保留Graphics
我收到的对象?或者是否有可能在生命周期的后期创建一个新的Component
? (例如,调整大小/隐藏后?)
添加层次结构监听器
public class MyShowingListener {
private JComponent component;
public MyShowingListener(JComponent jc) { component=jc; }
public void hierarchyChanged(HierarchyEvent e) {
if((e.getChangeFlags() & HierarchyEvent.SHOWING_CHANGED)>0 && component.isShowing()) {
System.out.println("Showing");
}
}
}
JTable t = new JTable(...);
t.addHierarchyListener(new MyShowingListener(t));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)