java - 将预定义操作关联到关闭按钮 Java JDialog

标签 java swing button action jdialog

我在与 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/

相关文章:

java - 是否有一个轻量级的 Java 代码指标分析器,我可以在 Eclipse 中使用 Maven、Jenkins/Hudson 运行?

java - 为什么调用 JFrame.pack() 会增加额外的空间?

java - 使用 Swing Timer 延迟任务

javascript - 如何使 button.onClick 不在启动时运行

java - keystore 和信任库混淆

java - RMI 请求是在服务器端按进程或线程处理的吗?

java - 在 JPanel 中使用 GlassPane

java - 如何在jtable中正确设置焦点单元格的边框?

Javascript:链接到按钮的功能不起作用

javascript - 通过单击按钮禁用-启用超链接