让我们假设两个JDialogs,j1和j2,当我点击" X"时,我需要关闭j2。 j1上的按钮。
我尝试在j1上实现WindowListener,我在j2.dispose()
和windowClosing()
方法中使用了windowClosed()
,但它没有用。
是否可以在" X"上放置一个actionPerformed?按钮例如?或者是否可以使用windowListener来完成它?以及如何使用?
提前谢谢。
答案 0 :(得分:3)
我猜您忘了添加WindowListener
。在System.out.println
方法中添加WindowListener
,看看他们是否真正被调用。
以下是您所描述内容的实例:
public class Test {
public static void main(String[] args) {
final JDialog jd1 = new JDialog((JFrame) null, "Dialog 1", false);
jd1.setVisible(true);
JDialog jd2 = new JDialog((JFrame) null, "Dialog 2", false);
jd2.setVisible(true);
jd2.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent we) {
jd1.dispose();
}
});
}
}
答案 1 :(得分:2)
是否可以在" X"上放置一个actionPerformed?按钮例如?
在此帖子中查看我的答案:Associate predefined action to close button Java JDialog