0

SplitLayoutPanel があります。North セルには、ツリーが表示された ScrollPanel があります。この ScrollPanel の高さを北のセルと同じにしたいので、ツリーが展開するとスクロールが表示されます。北のセルのサイズが変更された場合、この ScrollPanel のサイズを変更する必要があります。私は RequireResizes を試しましたが、親はサイズ情報を送信しません...理想的なアプローチは、ProvidesSize ウィジェットが RequiresSize ウィジェットの子に利用可能なサイズで onResize メソッドを呼び出すことです

私はとても混乱しています。セルの子のサイズを変更するように SplitLayoutPanel を構成するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

Composite を拡張して RequiresResize を実装するクラスを作成します。そのようです:

public class MyScrollPanel extends Composite implements RequiresResize {
 private ScrollPanel scrollPanel;

 public MyScrollPanel() {
  scrollPanel = new ScrollPanel();
  initWidget(scrollPanel);
 }

 public void onResize() {
  // do something to your scrollpanel
 }

}

次に、SplitLayoutPanel の北のセルに MyScrollPanel を追加します。

編集
しかし。ScrollPanel には、デフォルトですでに目的の動作があることがわかりました。SplitLayoutPanel セルに追加された ScrollPanel は、サイズが変更された場合でも、セルのサイズを自動的に埋めます。また、ScrollPanel 子ウィジェットが使用可能なスペースよりも大きい場合、スクロールバーが表示されます。

ただし、次のようにして、SplitLayoutPanel を RootLayoutPanel に追加していることを確認してください。 RootLayoutPanel.get().add(splitLayoutPanel);

于 2010-11-30T18:52:45.847 に答える