我在与 JDialog 相同的包中定义了一个操作。我想将 Java 对话框的关闭按钮绑定(bind)到此操作,而不使用窗口监听器。只需将此操作设置一次到按钮即可。你能帮我做这个吗?谢谢
最佳答案
以下代码应该使用 WindowAdapter 作为 WindowListener 来实现您所需要的。 windowClosing 方法在按下关闭按钮时被调用一次。如果您计划添加替代关闭按钮,您始终可以触发 windowClosing 事件,而无需单独处理它。
import java.awt.EventQueue;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JDialog;
import javax.swing.WindowConstants;
public class DummyDialog extends JDialog {
DummyDialog() {
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
System.out.println("Window closing");
}
});
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DummyDialog d = new DummyDialog();
d.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
关于java - 将预定义操作关联到关闭按钮 Java JDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25786904/