私は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に設定できるプロパティを誰かが知っている場合は、コンテンツビューのスペースを占有して、その下に水平スクロールが表示されないようにします。ありがとうございました!