Точно таким же образом Вы делаете на средстве моделирования. Существует очень немного (важных) различий между устройством и средством моделирования, и доступ к файлу и загрузка библиотеки являются по большей части не частью их.
Если вы хотите, чтобы графический интерфейс вел себя так, как если бы вы нажали кнопку закрытия X
, тогда вам необходимо отправить событие закрытия окна в Window
. ExitAction
из Закрытие приложения позволяет вам легко добавить эту функцию к пункту меню или любому компоненту, который использует Action
s.
frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));
Если под Alt-F4 или X вы имеете в виду «Немедленно выйти из приложения, не обращая внимания на то, какие другие окна или потоки работают», то System.exit (...)
сделает в точности то, что вы хотите, очень резким, грубым и, возможно, проблемным способом.
Если под Alt-F4 или X вы имеете в виду скрыть окно, то frame.setVisible (false)
- это то, как вы "закрываете" окно. Окно продолжит потреблять ресурсы / память, но его можно будет снова сделать видимым очень быстро.
Если под Alt-F4 или X вы имеете в виду скрыть окно и избавиться от любых ресурсов, которые оно потребляет, то frame.dispose ( )
- это то, как вы "закрываете" окно. Если фрейм был последним видимым окном и не было запущено других потоков, не являющихся демонами, программа завершится. Если вы снова откроете окно, ему придется повторно инициализировать все собственные ресурсы (графический буфер, дескрипторы окон и т. Д.).
dispose ()
может быть наиболее близким к тому поведению, которое вам действительно нужно. Если в вашем приложении открыто несколько окон, хотите ли вы, чтобы Alt-F4 или X закрыли приложение или просто закрыли активное окно?
Учебное пособие по Java Swing по оконным прослушивателям может помочь вам прояснить ситуацию.
setVisible(false); //you can't see me!
dispose(); //Destroy the JFrame object
Не слишком сложно.
setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE);
Не только закрывает JFrame, но и отключает все приложение, следовательно, "ВЫХОД НА ЗАКРЫТИЕ"
Для достижения того же результата вы должны эффективно выйти из приложения, для этого просто вызовите
System.exit(0);
Эффект точно такой же.