マウス クリック イベントで ContentPanel からすべての要素を削除し、新しい要素を追加したいと考えています。removeAll() メソッドで正常に動作しています。これにより、既存のすべてのコンポーネントが削除されます。しかし、新しいコンポーネントを追加したいとき、それは追加されません。
1 に答える
2
たぶんこのようなものはクリックハンドラーを省略しましたが、これからアイデアを得る必要があります。
private ContentPanel contentPanel;
public SwapScreen() {
contentPanel = new ContentPanel();
add(contentPanel);
}
public void swap1() {
/*This should be split into a separate
method and called only once to avoid recreating them.*/
field1 = new TextField<String>();
contentPanel.add(field1);
field2 = new TextField<String>();
contentPanel.add(field2);
this.layout(true);
}
public void swap2() {
/*This should be split into a separate
method and called only once to avoid recreating them.*/
anotherField1 = new TextField<String>();
contentPanel.add(anotherField1);
anotherField2 = new TextField<String>();
contentPanel.add(anotherField2);
this.layout(true);
}
最も重要な部分はthis.layout(true)
、レイアウトを強制的に更新することです。
于 2012-05-09T09:45:01.120 に答える