面板部件消失的时候我最小化帧(Panel components disappear when I m

2019-09-21 11:22发布

我有一个主面板,其内容是由我决定throught这样按钮的布局:

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();
            }
}

现在,如果我最小化框架,然后把它前面,我觉得所有的主面板的组件消失了! 无论如何,当我将鼠标悬停在他们用鼠标成分再次显示。 怎么了?

Answer 1:

  • 对于JFrame / JDialog / JWindow

使用

validate(); (revalidate in Java7 )
repaint();
  • 例如有关标准rulles

  • 使用CardLayout ,而不是remove ,然后addJPanel的容器



文章来源: Panel components disappear when I minimize frame