Как сделать добавленный JPanel
видимым внутри родителя JPanel
?Сделать добавленный JPanel видимым внутри родителя JPanel
Я использую Netbeans для проектирования моего пользовательского интерфейса.
У меня есть MainFrame.java
, который содержит две панели; а именно headerPanel
и bodyPanel
.
В headerPanel
Я положил три кнопки, пусть будет button1
, button2
и button3
.
Также я создал три отдельные файлы, простирающиеся JPanel
, назовите его panel1
, panel2
и panel3
.
Затем я добавил все свои три панели внутри bodypanel
в MainFrame.java
в конструкторе.
bodyPanel.add(panel1);
bodyPanel.add(panel2);
bodyPanel.add(panel3);
Я хочу, чтобы по нажатию соответствующих кнопок только соответствующие панели должны появиться в bodypanel
в мэйнфреймах, то есть, если я нажму button1
то panel1
должен отображаться.
Я уже пробовал следующий код в button1
мыши метод прослушивателя:
bodyPanel.validate();
bodyPanel.getComponent(0).setVisible(true);
Но panel1
не появляется. Я сделал это, потому что добавленные компоненты в панели выделены индексом. Поэтому сначала я попытался получить компоненты, а затем сделать их видимыми. Это не работает.
Что?!? Метод 'switchPanel', похоже, идет против подхода' CardLayout'! –
Я удаляю панель, потому что использовал ее в общем. Но если вы хотите, вы можете улучшить метод для добавления панелей и переключения соответственно. – Chan
сожалею об этом, но после написания комментария я отредактировал хелпер XD – Chan