嗨,我有一个jFrame,我想问用户单击关闭按钮时是否确定要关闭jframe:

    this.addWindowListener(new java.awt.event.WindowAdapter() {
    @Override
    public void windowClosing(java.awt.event.WindowEvent windowEvent) {
    Main ma = new Main();

    Object[] options = {"Yes", "NO"};

    int selectedOption = JOptionPane.showOptionDialog(ma, "Are you sure you want to close the system?", "Warning",
    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
    null, options, options[0]);

           if (selectedOption == JOptionPane.YES_OPTION) {
               System.exit(0);
           }

    else
    {
    }

    }
    }); 

当他从jpanel弹出窗口中选择“否”按钮时,如何取消关闭操作?

===============>>#1 票数:3 已采纳

首先,您需要将JFrame的默认close操作设置为在关闭时不执行任何操作:

myJFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

然后,按下关闭按钮将不会关闭JFrame,您将不得不在代码中对其进行处理。

===============>>#2 票数:1

将默认的关闭操作设置为JFrame.DO_NOTHING ,然后使用WindowListener并监听windowClosing事件。 现在要关闭框架,只需在框架上调用dispose() 所以:

public void windowClosing(WindowEvent e)  
{  
    JFrame frame = (JFrame)e.getWindow();  
    if (canClose(frame)) // you define canClose  
    {  
        frame.dispose();  
    }  
    else  
    {  
        // other stuff  
    }  
} 

  ask by user3420231 translate from so

未解决问题?本站智能推荐:

2回复

Java JFrame创建关闭按钮

我已经编写了一个表格,并通过浏览各种资源提出了一个可以在按下“ X”时关闭自身的表格。 但是,我似乎已经以一种非常骇俗的方式来做到这一点。 (我发布的代码已剥离了不相关的化妆品详细信息,但本质上是基于此教程的弹出通知: http : //harryjoy.me/2011/07/01/cr
2回复

弹出JFrame关闭按钮

我正在做一些基本的Java Swing application (初学者级别)。 我要做的是当我按下close button on JFrame上的close button on JFrame来收集窗口我想要一个JOptionPane Confirm Dialog而不是直接关闭 这是代码
1回复

当关闭按钮按下java时,最小化jframe

我想在按下关闭按钮时最小化JFrame,我使用下面显示的代码,但每当我按下关闭按钮时,框架首先最小化然后自动关闭。 我正在研究Ubuntu,有什么建议我如何阻止JFrame关闭?
5回复

如何在Java中隐藏JFrame窗口上的默认最小化/最大化和关闭按钮?

我想知道是否可以创建一个没有默认最大化/最小化( - )和关闭(x)按钮的JFrame窗口! 我在每个框架上添加了自定义按钮,这样用户就不必乱用窗口右上角的默认按钮了!
6回复

如何捕获JFrame的关闭按钮单击事件?

我想在单击JFrame标题栏的红色关闭按钮时调用方法confirmExit() 。 如何捕获该事件? 如果用户选择不继续操作,我还想防止窗口关闭。
2回复

如何禁用JFrame中的关闭按钮? [重复]

可能重复: 如何禁用(或隐藏)JFrame上的关闭(x)按钮? 我希望框架具有关闭的关闭按钮,但我不想这样做frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE ) ; 也没有frame.setUndecorate
2回复

有2个单独的关闭按钮用于2个JFrame?

我正在使用JMenuBar制作一个小型应用程序,现在,我有了一个menuitem,这是一个商店,它将打开一个新的JFrame。 当我单击按钮时,会出现一个新的JFrame,一切正常。 但是,当我单击Store JFrame的关闭按钮时,我不想关闭主JFrame。 如果我现在按下store-
1回复

如何为JFrame中的默认关闭按钮编写代码? [重复]

这个问题已经在这里有了答案: setDefaultCloseOperation改为显示JFrame 3个答案 我想编写代码到JFrame默认关闭按钮。 我只想问是否“保存内容?” 单击关闭按钮时,使用另一个JDialog或JOptionPane 。 我必须
2回复

如何在JFrame中删除最小化按钮并保持最大化和关闭按钮

我只想从JFrame中删除最小化按钮,但是想要JFrame标题栏中的最大化和关闭按钮。 在这里我说的是删除不禁用。
1回复

单击JFrame的关闭按钮后如何删除MySql数据库记录?

我有两个JFrame表单,它们接受诸如Name,Rollno,注册编号,性别等信息。名称和性别位于第一个JFrame表单上,而其他详细信息位于第二个JFrame表单上。单击后所有信息都存储在MySql数据库中“下一个表格”按钮。同一按钮将用户带到下一个表格。如果用户填写了第一个表格中的所有详细信