我希望能够通过选择某个JMenuItem在我的框架中切换两个可能的JPanel。到目前为止我尝试了什么:
我的JMenuBar类中的动作侦听器:
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(fullList))
gui.switchToFullList();
else if (e.getSource().equals(history))
gui.switchToHistory();
}
在GUI类中:
void switchToFullList() {
remove(history);
add(fullList);
}
void switchToHistory() {
remove(fullList);
add(history);
}
其中history
和fullList
是JPanel。
这似乎不会以任何方式修改我的框架。
答案 0 :(得分:0)
如果你想显示一个Panel并隐藏另一个Panel,它们都应该是你的Frame的childreen,那么你可以通过以下方式访问这些Panel:frame.JpanelName。
删除历史记录并添加fullList的示例:
frame.remove(frame.history);
frame.getContentPane().add(frame.fullList);
frame.validate();
frame.repaint();