4

メインパネルのレイアウトがあり、その内容はボタンを介して次のように決定されます。

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

ここで、フレームを最小化してから前面に移動すると、メインパネルのすべてのコンポーネントが消えていることがわかります。とにかく、マウスコンポーネントでそれらにカーソルを合わせると、再び表示されます。なにが問題ですか?

4

1 に答える 1

4
  • のためにJFrame//JDialogJWindow

使用する

validate(); (revalidate in Java7 )
repaint();
于 2012-08-22T10:21:31.363 に答える