我有一个主面板的布局,其内容由我通过按钮以这种方式决定:
public void actionPerformed(ActionEvent e) {
mainPanel.removeAll(); //removing all current panel components
if(e.getActionCommand().equals("content1")){
mainPanel = new Content1Panel();
add(mainPanel,BorderLayout.CENTER);
validate();
}else if(e.getActionCommand().equals("content2")){
mainPanel = new Content2Panel();
add(mainPanel,BorderLayout.CENTER);
validate();
}
}
现在,如果我最小化框架然后把它带到前面我发现所有主面板的组件都消失了!无论如何,当我用鼠标组件悬停在它们上面时再次显示。 有什么问题?
答案 0 :(得分:4)
JFrame
/ JDialog
/ JWindow
使用
validate(); (revalidate in Java7 )
repaint();
使用CardLayout
代替remove
,然后add
JPanel
使用容器