Напишите свой собственный класс панели, который расширяет JPanel
.Добавьте в этот класс новый метод с именем isOnTheScreen()
, который возвращает логическое значение , указывающее, добавлена ли панель в окно или нет.
public class MyPanel extends JPanel
{
boolean isAdded = false;
public boolean isOnTheScreen()
{
return isAdded;
}
public void setOnTheScreen(boolean isAdded)
{
this.isAdded = isAdded;
}
}
После создания собственных объектов панели используйтеописанные выше методы, чтобы узнать, добавлена ли панель к главной панели / фрейму или нет.Предположим, что вы добавили панель к фрейму:
JFrame frame = new JFrame()
MyPanel panel = new MyPanel();
frame.getContentPane().add(panel);
panel.setOnTheScreen(true);
Как только вы добавите ее на главный экран, в этом случае фрейм вызовите setOnTheScreen(true)
И аналогичным образом вызовите setOnTheScreen(false)
при удаленииpanel.
После этого дизайна вы можете определить, добавлена ли панель в главное окно или нет, просто вызвав isOnTheScreen()
где-нибудь еще в вашем коде.Я надеюсь, что этот дизайн поможет вам.