覆盖JFrame的最小化

时间:2011-05-04 01:22:46

标签: java swing jframe minimize windowlistener

我正在制作一个带记录器的程序。记录器有自己的JFrame。 我试图通过点击该框架的最小化按钮来覆盖反应。 我想将帧设置为setVisible(false)或执行defaultCloseOperation(因为我将其设置为先前隐藏)。

我该怎么做? 提前致谢

4 个答案:

答案 0 :(得分:8)

使用JDialog而不是JFrame。 JDialogs没有最小化按钮。

答案 1 :(得分:2)

您可以添加一个WindowListener并添加一个iconified handler,以便在窗口最小化时做出反应。

也许:

frame.addWindowListener(new WindowAdapter(){

      public void windowIconified(WindowEvent e){
            frame.setVisible(false);
      }
});

答案 2 :(得分:1)

您可以像这样使用WindowStateListener

    f.addWindowStateListener(new WindowStateListener() {

        @Override
        public void windowStateChanged(WindowEvent arg0) {
            if (arg0.getNewState() == Frame.ICONIFIED) {
                // do stuff
            }

        }
    });

答案 3 :(得分:0)

试试这个:

frame.addWindowListener(new WindowAdapter() {
 @Override
         public void windowIconified(WindowEvent event) 
         {
            //do your stuff
         }
 });