2

こんにちは私はこのように作られたメインレイアウトを持っています:


            |         |
Main pane   |Menu pane|
            |         |

これで、メニューペインはボタンだけで構成されます。ボタンをクリックすると、メインパネルが別のパネルに切り替わります。クリック時のイベントは次のように行われます。

public void actionPerformed(ActionEvent evt){
     mainPanel = new MyNewPanel();
     this.revalidate();
}

しかし、どういうわけか、メインパネルは変わりません!

4

1 に答える 1

7

コンテナの主要コンポーネントを設定していません。validate()新しいパネルを追加して、そのコンテナを呼び出す必要があります。

コンテナのレイアウトによっては、最初に現在表示されているコンポーネントを削除する必要がある場合があることに注意してください。

CardLayoutは、これらすべてを管理できます。

于 2012-08-21T18:40:04.573 に答える