2012-01-10 13 views
0

Vaadinのタブが1つあり、テーブルとボタンが表示されています。もう1つは階層Vaadinツリーを表示し、カスタム検索ボックスがあります。私はタブのサイズをH:420px W:250pxに設定しているので、テーブルが大きすぎるとツリーが長くなったり、ツリーが長くなったりするとスクロールバーが表示されます。検索ボックスのように、ボタンがレイアウトの下部に押されているので、ボタン/検索ボックスにアクセスしたい場合は、すべての方法でスクロールして、必要なコンポーネントを使用する必要があります。私は唯一のコンポーネントの第2のレイアウトを追加しようとしましたが、それは助けていない: - /ここに私がこれまで試してみましたものです:Vaadin - 複数のタブシートのレイアウト

TabSheet tabs = new TabSheet(); 
tabs.setWidth("250"); 
tabs.setHeight("420"); 

VerticalLayout lyTab = new VerticalLayout(); 
tabOne = tabs.addTab(lyTab, "Tab One", null); 
//added an extra layout for the Buttons : 
HorizontalLayout lyButton = new HorizontalLayout(); 
lyButton.addComponent(applyButton); 
lyButton.addComponent(selectAll); 
lyTab.addComponent(lyButton); 

私の考えは、私ができるようタブシートに第2のレイアウトを追加しましたそれが動かないようにその位置を修正するが、それは仕事をしなかった。何か案は ?

答えて

1

私は正しくここにあなたの問題を理解している場合は、表でそれを行う方法である。この場合、

VerticalLayout tab = new VerticalLayout(); 
tab.setSizeFull(); 

Table table = new Table(); 
table.setSizeFull(); 
tab.addComponent(table); 
tab.setExpandRatio(table, 1); 

HorizontalLayout buttons = new HorizontalLayout(); 
buttons.addComponent(new Button()); 
buttons.addComponent(new Button()); 
tab.addComponent(buttons); 

Tab tabOne = tabs.addTab(tab, "Tab One", null); 

、表はフルサイズで、必要なときにスクロールバーが表示されます。ツリーの

、とのコード上から表の一部を置き換える:

Panel panel = new Panel(); 
panel.setSizeFull(); 
panel.getContent().setSizeUndefined(); 
tab.addComponent(panel); 
tab.setExpandRatio(panel, 1); 

Tree tree = new Tree(); 
tree.setSizeUndefined(); 
panel.addComponent(tree); 

ここツリーは、私たちが必要なときにスクロールバーを表示フルサイズのパネルの内側にそれを包むように、スクロールバーを表示することができません。

0

私はまだVaadin 7.4.8で同様の問題が発生しており、動作させることができました。

1 - 私が最初に確認したのは、親コンポーネント(私の場合、2つのVerticalLayoutを別のものに追加していた)がsetSizeFull()を持っていたことでした。それらはビューに追加されています。私の場合は、VerticalLayoutとImplements Viewを継承したクラス(ナビゲータ)からクラスを設定するのを忘れていました。

2 - その他の重要な点は、addTab(コンポーネント)でタブが追加されたtabSheetにsetSizeFull()が設定されている必要があることです。

2.1 - setExpandRatio(tabSheet、1)を追加して、上に移動します。 (コンポーネント)を使用してtabSheetに追加されているコンポーネント(VerticalLayout)に対して、2つのコンポーネントが追加されました.1つはHorizo​​ntalLayoutで、もう1つはVerticalLayoutです。

だから私はことを確認しました:それはsetSizeFull

  • setExpandRatio(Horizo​​ntalLayout、.5f)を持っていた

    • setExpandRatio(VerticalLayout、.5f);
  • 関連する問題