私はVaadinアプリケーションを開発していますが、私が望むようにレイアウトの面を得るのが非常に困難です。大きな問題は、コンテンツのサイズがどれほど大きいか、ブラウザウィンドウがどれほど小さいかにかかわらず、レイアウトに縦スクロールができないように見えることです。ブラウザの垂直スクロールがありません
私はこのテーマを読んでいますhLayoutとvLayoutはスクロールバーをサポートしていませんが、Panelはそうしています。私はそれを動作させるために多くの異なる組み合わせで試してみましたが、私は生成する水平スクロールバーを得ることができたが、垂直なものは決してありません。
もう1つの問題は、会社が提供する既存の「テンプレート」内にアプリケーションを構築していることです。このテンプレートには、著作権情報が含まれているフッターが含まれています。このフッタは、ブラウザのウィンドウ内で、追加しているコンテンツに関してはスペースを占有していないように見えます。これは、小さい画面で水平スクロールバーをフッターの下に表示すると、今見える方法のコードをいくつか提供します。
public class InventorySimCardTable extends M2MViewBase { //M2MViewBase extends VerticalLayout
private final SPanel mainContent = Cf.panel("");
private final SPanel tabPanel = Cf.panel("");
private final SVerticalLayout tabcontent = Cf.vLayout();
protected InventoryFilterPanel inventoryFilterPanel;
@Override
protected void initComponent() {
setSizeFull();
tabPanel.setSizeFull();
tabPanel.getContent().setSizeUndefined();
Table simCardTable = new Table();
simCardTable.setWidth("1898px");
simCardTable.setPageLength(15);
tableContainer.setSizeUndefined();
tableContainer.addComponent(simCardTable);
mainContent.setWidth("99%");
mainContent.setHeight("100%");
mainContent.setContent(tableContainer);
mainContent.setScrollable(true);
centeringlayout.setSizeFull();
centeringlayout.addComponent(mainContent);
centeringlayout.setComponentAlignment(mainContent, Alignment.MIDDLE_CENTER);
tabPanel.addComponent(centeringlayout);
addComponent(tabPanel);
}
}
私のコードに明らかな誤りがあるかどうかを知りたいです。また、コンテンツビューでスペースを占めるようにフッタCSSに設定できるプロパティが分かっていれば、水平スクロールがその下に表示されないようにすることができます。ありがとうございました!
この問題の完全な解決策を読むには、私の記事を参照してください:http://stackoverflow.com/questions/31028870/how-can -i-make-a-verticallayout-scrollable-using-vaadin – russellhoff