当前位置: 首页 > 面试题库 >

Java Swing为EXIT_ON_CLOSE添加动作侦听器

周墨一
2023-03-14
问题内容

我有一个简单的GUI:

    public class MyGUI extends JFrame{

        public MyGUI(){
           run();
        }

        void run(){
           setSize(100, 100);
           setVisible(true);
           setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// maybe an action listener here
        }
    }

我想打印出此消息:

 System.out.println("Closed");

当GUI关闭时(按X时)。我怎样才能做到这一点?


问题答案:

试试这个。

    addWindowListener(new WindowAdapter()
        {
            @Override
            public void windowClosing(WindowEvent e)
            {
                System.out.println("Closed");
                e.getWindow().dispose();
            }
        });


 类似资料:
  • 问题内容: 我想用JLabel替换JButton,并且希望我的代码在单击JLabel时执行一些操作。 当我拥有JButton时,我使用动作侦听器来处理按钮的单击: 当我替换为时,我在Eclipse中收到以下错误消息: 对于JLabel类型,未定义方法addActionListener(ChipsListener) 但我确实知道应该可以将单击处理程序附加到JLabel。有人知道该怎么做吗? 问题答案

  • 问题内容: 我有一个ArrayList,它向其中动态添加了一些对象,并且有一个JButton。运行我的程序时ArrayList为空,并且JButton设置为setEnabled(false)。我想在ArrayList中有2个或更多元素时启用我的按钮,如果ArrayList有一项或为空则再次禁用它。我该如何实现? 问题答案: 没有任何种类的通知机制。 我建议您编写自己的实现,该实现将委托给私有的实现

  • 我的代码使用jQuery。我有一个密码输入框,我想要得到输入的密码任何时候。 下面是我的代码: 我确信这是一个正确的代码,因为当我在浏览器的控制台中输入它时,它可以工作,但当我重新加载页面时,它就不工作了 我能做什么?

  • 我试图为我们现有的laravel站点(laravel 5.2)的注销功能添加一些逻辑,但它不像登录那样简单。 客户端的现有注销工作正常,但我只想向我的Cognoto实例添加一个调用,以将用户注销他们的Cognoto会话。基本上,当用户单击logout时,我想让他们从网站上注销,就像以前一样,但也要点击我的cognito注销endpoint 我的困惑来自这样一个事实,即auth的现有路由和控制器并不

  • 问题内容: 我有一个我想在其中的文本更改时调用一个函数。 我怎么做? 问题答案: Java跟踪JTextField文本内容变化的适当侦听器是DocumentListener,您必须将其添加到JTextField的文档中:

  • 问题内容: 我怎样才能使它成为特定方法? (我知道可以用一种方法将其全部抛弃,是的。 谢谢你们, 编辑:谢谢大家的快速反应,我的解释不是很清楚。 我调查了lambda的使用,这几乎是我在想的,尽管其他方式也很不错。 再次谢谢大家。 下次我会尝试变得更清晰,更快捷。 问题答案: 同样,您的问题仍然不清楚。您上面的代码 有 一种方法,可以将代码放入其中: 或者,您可以从该方法中调用外部类的方法: 或者