Я пишу программу, где у меня есть JFrame, и я хочу удалить из нее все компоненты, а затем добавить к ней только один компонент и перерисовать его. То, что у меня до сих пор, похоже на код ниже (вызываемый в объекте, который реализует JFrame, где StartPanel реализует JPanel):
removeAll();
startPanel = new StartPanel();
startPanel.setVisible(true);
add(startPanel);
revalidate();
repaint();
Однако, когда я запускаю код, он показывает пустое окно (не startPanel), и когда я минимизирую/изменяю размер окна, окно становится черным. Если я не укажу removeAll()
и нет элементов, уже находящихся на JFrame, он просто отобразит startPanel. Любые идеи о том, как на самом деле удалить все, а затем получить новую панель, которая все еще отображается?