3

コンテナからコンポーネントを削除しようとすると、このコードを使用します。

private static void clear(){
    for (int i = con.getComponentCount() - 1; i >= 1; i--){
        con.remove(i);
    }
}

この関数を呼び出すと、関数は何もしなかったかのように動作しますが、オーバーロードしているかのようにクラッシュします。エラーは発生しません。しかしcon.getComponent(i).setVisible(false);、コードを挿入すると機能しますが、コンポーネントを削除したいと思います。停止しますか?

4

4 に答える 4

3

これを使用してみてください:

while (con.getComponentCount()>0) {
    con.remove(0);
}
于 2012-05-02T18:24:50.373 に答える
2

削除するコンポーネントの削除が完了したら、Container.validate(); を呼び出します。Container.repaint(); 実際には、それ以上の再検証が必要になる場合があります。

于 2012-05-02T18:24:56.453 に答える
1

コンポーネントを削除した後、containerObject.repaint()を試しましたか?

于 2012-05-02T18:26:04.570 に答える
0

conがawtコンテナであると仮定すると、次のように呼び出すことができます。

con.removeAll();

含まれているすべてのコンポーネントを一度に削除します。

于 2012-05-02T18:31:03.080 に答える