У меня есть класс, который расширяет JFrame, и у него есть BorderLayout.У него есть две частные переменные экземпляра типа JPanel.Они представляют собой панели кнопок и называются flipButton и trustButtons.При нажатии на кнопку панель кнопок заменяется другой панелью кнопок.То есть, если вы щелкнете по кнопке в flipButton, flipButton будет заменен на trustButtons.Я попытался сделать это следующим образом:
private class FlipListener implements ActionListener{
public void actionPerformed(ActionEvent e){
remove(flipButton);
add(confidenceButtons,BorderLayout.SOUTH);
validate();
...
}
}
private class ColorListener implements ActionListener{
...
public void actionPerformed(ActionEvent e){
...
remove(confidenceButtons);
add(flipButton,BorderLayout.SOUTH);
validate();
}
}
Кнопки в flipButton имеют FlipListeners, а кнопки в секрете - ColorListeners.Когда программа запущена, нажатие на кнопку удалит панель, но ничего не будет добавлено, чтобы заменить ее.Что я делаю неправильно?
РЕДАКТИРОВАТЬ
CardLayout оказался простым и легким решением.Оказывается, что приведенный выше код работает;проблема была опечатка в другом разделе моего кода.>. <Однако, у меня всегда были проблемы с использованием этих методов, и CardLayout, я считаю, упрощает это для меня.Благодарю.</p>