GWT:をスクロール可能なFlexTableフル画面TabPanel
質問
思をTabPanelを占める全体のブラウザのインターネットで提供され、そFlexTableう巻物が必要です。しかし、うまくacheivingます。私た:
public void onModuleLoad() {
TabPanel test = new TabPanel();
test.setSize("100%", "100%");
FlexTable flex = new FlexTable();
for (int i = 0; i < 100; i++)
flex.setText(i, 0, "test " + i);
test.add(flex, "tab");
flex.setStyleName("overflow-auto");
test.selectTab(0);
RootPanel.get().add(test);
}
がオーバーフロー-オートのように定義されている。
.overflow-auto {
overflow: auto;
}
このタブパネルを適切に占める100%の幅で最大のスケーリング高さをFlexTableより強のスクロールバーえることもできるだろう。たいのですが、インターネットで提供されるtabpanelための独自のサイズの子。
解決 2
うGWT2.0では新しいレイアウトシステムなたかったのは: http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#LayoutPanels
他のヒント
あなたはおそらくあなたが望む効果を得るために、そのタブの内側にScrollPanelを使用する必要があるとしています。 ScrollPanelはただ1つのウィジェットを取り、必要に応じて、その上にスクロールバーを置くコンテナです。私はそれ以外の場合は喜んであなたがそれに入れてコンテンツを拡大していきます、ScrollPanelは、私の知る限り、その上に明示的なサイズを設定することに依存し、ないことに注意する必要があります。
注意すべき点は、しかし:タブパネルの内側にスクロール可能なパネルの任意の並べ替えとの長年の欠陥がありました。前回私はそれがまだ開いていた見ていました。
http://code.google.com / P /グーグルウェブツールキット/問題/詳細?ID = 1343 の
私はあなたがここに探しているはずだソリューションがVerticalPanelのようないくつかの他のコンテナパネル(おそらくSimplePanelは十分だろう)、そしてScrollPanelにこれを入れ、最後にタブパネルにそれを突き出すにFlexTableを置くことだと思います。
私も述べたように、ScrollPanelは手動での高さを管理するために、あなたが必要になります。あなたはそれが窓の高さのままにしたいのであれば、これは、ブラウザのサイズをチェックし、ScrollPanelをする必要がありますどのように背の高い割り出しいくつかのコードを書い関与しようとしています。あなたは、サイズ変更をキャッチして、物事を解決するだけでなく窓にリサイズハンドラをアタッチする必要があります。
少なくとも、それは私が今それを見るようなもののために、ブラウザのスクロールバーを避けるの状況です。私が間違っている場合は、誰もが、私は削除するためのコードを持っているように私に知らせてください...
そこで私たことと似たようbikesandcode書き:
- をFlexPanel
- をScrollPanelを追加しFlexPanelで
- 設定に必要なサイズのScrollPanel(絶対CSS台)
- をSimplePanelを追加しScrollPanelで
- 追加のSimplePanelのTabPanel
問題は、タブの子として設定したときに、テーブルを100%幅/高さに設定されていることを、実際にあります。あなたは、オーバーフロー・オートは、あなたがフレックステーブルは、(その内容の)100%を可能にするので、これ以上の意味を持っていないことを行う場合。
はピクセルを使用して、幅/高さを設定した場合、オーバーフローがのみ動作します。
を使用していHorizontalPanel提供gxtの親会社FlexTableのsetAutoHeight(true)。これは良い。