Я пытаюсь найти метод, который может закрыть активный JFrame.Как закрыть активный JFrame
Я не могу использовать frame.dispose();
, так как я объявляю прослушиватель действий в классе панели инструментов, и кадры, которые я хочу закрыть, не являются статическими и объявляются во время выполнения.
Я попытался с помощью:
java.awt.Window win[] = java.awt.Window.getWindows();
for(int i=0;i<win.length;i++){
win[i].dispose();
}
и в то время как это работа, при определенных обстоятельствах оно будет закрыто более чем одно окно, даже если только 1 окно, как представляется, быть открытым, поэтому кадры будут мигать открытые и закрытые многие в зависимости от того, какие действия сделал пользователь.
Для меня, чтобы полностью воссоздать мою проблему, было бы размещение значительного количества кода, который не соответствовал бы принципам MCVE.
Я надеюсь, что кто-то узнает более простой и надежный способ закрытия активной рамки в форме acitveframe.dispose(); - что я сейчас не являюсь реальным решением!
* Я объявляю прослушиватель действий в классе панели инструментов, и кадры, которые я хочу закрыть, не являются статическими и объявляются во время выполнения. * См. [Использование нескольких JFrames, Good/Bad Practice?] (Http: // stackoverflow.com/a/9554657/1795530). – dic19