我有一个带有主面板的布局,其内容由我通过按钮以这种方式决定:
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();
}
}
现在,如果我将框架最小化,然后将其置于最前面,我会发现所有主面板的组件都消失了!无论如何,当我将鼠标悬停在它们上面时,组件再次显示。 怎么了?
最佳答案
- 用于
JFrame
/JDialog
/JWindow
使用
validate(); (revalidate in Java7 )
repaint();
使用
CardLayout
而不是remove
然后add
JPanel
到容器
关于java - 当我最小化框架时面板组件消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070911/