Переопределить свертывание JFrame - PullRequest
3 голосов
/ 04 мая 2011

Я делаю программу с регистратором. У логгера есть свой JFrame. Я пытаюсь отменить реакцию от нажатия на кнопку минимизации этого кадра. Я хотел бы, чтобы фрейм либо setVisible (false), либо выполнял defaultCloseOperation (как я установил, чтобы скрыть ранее).

Как мне это сделать? Заранее спасибо

Ответы [ 4 ]

8 голосов
/ 04 мая 2011

Используйте JDialog вместо JFrame. У JDialogs нет кнопки сворачивания.

2 голосов
/ 04 мая 2011

Вы можете добавить WindowListener и добавить иконизированный обработчик , который будет реагировать, когда окно свернуто.

Может быть:

frame.addWindowListener(new WindowAdapter(){

      public void windowIconified(WindowEvent e){
            frame.setVisible(false);
      }
});
1 голос
/ 04 мая 2011

Вы можете использовать WindowStateListener вот так

    f.addWindowStateListener(new WindowStateListener() {

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

        }
    });
0 голосов
/ 21 сентября 2015

Попробуйте это:

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