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