0

ウィンドウの幅に合わせて高さを固定したパネルを作成したい (GXT 2.3 を使用):

 public void onModuleLoad() { 
    Viewport viewport = new Viewport ();
    viewport.setEnableScroll(true);
    viewport.setLayout(new FitLayout());
    viewport.setAutoHeight(false);
    viewport.setHeight(700);

    ContentPanel cpanel = new ContentPanel();
    cpanel.setHeight(700);
    viewport.add(cpanel);

    RootPanel.get().add(viewport);

しかし、ブラウザ ウィンドウのサイズを変更すると、ビューポートの高さが常に再計算されます。

では、それを修正するにはどうすればよいでしょうか。

4

1 に答える 1

0

解決策は、 FitLayout を拡張して、 resize で高さを再計算しないようにすることです。

public class MyFitLayout extends FitLayout {

  protected void setItemSize(Component item, Size size) {
    if (item != null && item.isRendered()) {
      size.width -= getSideMargins(item);
      //size.height -= item.el().getMargins("tb");
      setSize(item, size.width, size.height);
    }
  }

}
于 2013-07-19T10:03:20.300 に答える