私はJFrameを持っているプログラムを書いています。そこからすべてのコンポーネントを削除してから、コンポーネントを1つだけ追加してフレームを再描画したいと思います。私はこれまで持っていること(StartPanelはJPanelのを実装したJFrameを実装するオブジェクトに呼ばれる)以下のコードのようなものです:私は、コードを実行すると、それは空のウィンドウ(ないstartPanel)を示し、しかしJavaのJFrameからすべてのコンポーネントを削除するには?
removeAll();
startPanel = new StartPanel();
startPanel.setVisible(true);
add(startPanel);
revalidate();
repaint();
ウィンドウを最小化/サイズ変更すると、ウィンドウが黒くなります。 removeAll()
を除外し、すでにJFrame上に要素がない場合は、startPanelが表示されます。実際にすべてを削除する方法についてのアイデアは、新しいパネルをまだ表示するには?
つの単語を更新するthoesコンポーネントを追加すること 後に検証 後に何か他のものを追加することであると仮定すると:[CardLayout](のhttp:// docs.oracle.com/javase/tutorial/uiswing/layout/card.html) –
@HovercraftFullOfEelsはうまくいくかもしれませんが、手動で行う他の方法がありますか?私はそれがすべきだと思うようにremoveAll()が動作しないのはなぜですか?コードの他の部分で、一度に1つだけ表示するのではなく、さまざまなコンポーネントの組み合わせを用意する必要がある場合、私はCardLayoutを望んでいませんか? – scaevity