我有一个窗口,我希望在位置或大小发生变化时得到通知。最好采用哪种类型的听众?
WindowListener
不适合我。
你可以使用ComponentListener,它有componentResized
和componentMoved
方法。
你可能想尝试HierarchyBoundsListener
myJFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsListener(){
public void ancestorMoved(HierarchyEvent e) {
doSomething();
}
public void ancestorResized(HierarchyEvent e) {
doSomethingElse();
}
请参阅http://java.sun.com/docs/books/tutorial/uiswing/events/eventsandcomponents.html获取所有swing组件支持的完整侦听器列表。