JFrame не будет распоряжаться выполненным действием кнопки - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь создать приложение, которое переключается между двумя окнами.

Главное окно используется только один раз при запуске приложения, поэтому пользователь может ввести некоторые данные.

Вся работа выполняется между двумя другими кадрами. Только один кадр должен быть доступен или виден одновременно.

Моя проблема в том, что я не могу утилизировать эти 2 окна, поэтому каждый раз, когда я переключаюсь, новый экземпляр окна создается и работает в фоновом режиме.

Я пытался уничтожить эти окна, но кажется, что одно окно не может уничтожить себя.

Я ожидаю создавать и уничтожать окна, а не просто менять их видимость.

1 Ответ

0 голосов
/ 09 апреля 2019

«Моя проблема в том, что я не могу утилизировать эти 2 окна, поэтому каждый раз, когда я переключаюсь, новый экземпляр окна создается и работает в фоновом режиме».Вам необходимо создать новый объект JFrame, а затем утилизировать старое окно, выполнив метод dispose () в старом окне, от которого вы хотите избавиться.Примерно так:

//When switch event happens(like a button press)
JFrame newWindow = new JFrame()
this.dispose() //Assuming this class is your JFrame subclass

Если ваш JFrame просто содержит значение переменной, сделайте это так:

JFrame newWindow = new JFrame()
    jframeName.dispose() 

Вам нужно предоставить код, чтобы мы могли помочь вам лучше.

Редактировать: как вы вообще меняете, какое окно запускается?Вы используете кнопки на каждом?Пожалуйста, предоставьте контекст и ясность

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...