Luceneを使用して作成したインデックス用の小さな検索エンジンを構築し始めました。 GWTを使って私が好きなGUIを作成していますが、問題が残っています。私はDockLayoutPanelの中心にあるFlowPanelの中にいくつかの結果を追加しようとしていますので、好きなようにページをスクロールすることができます。私の問題は、(私が知ったように)スクロールして作業をするために、ブラウザーウインドウに結果が表示されないようにするためには、すべてのDockLayoutPanelの子が絶対位置を持たないようにすることです。私の問題は、私がそれを取り除くことができないことです(または私は方法を知らない)。クロムインスペクタのスクロール機能から無効にすると、再び有効にするとflowPanelがカットされます。SetStyleNameをgwtに設定するdockLayoutPanel子
public static void loadCellTrees(HashMap<Integer,LinkedHashMap<String,String>> searchResults, List<RootCategories> list)
{
VerticalPanel westTrees = new VerticalPanel();
TreeViewModel treeModel = new CellTreeWidget(list);
CellTree tree = new CellTree(treeModel, null);
HTMLBuilder builder = new HTMLBuilder(searchResults);
tree.setStyleName("tree");
tree.setAnimationEnabled(true);
dock.clear();
westTrees.clear();
westTrees.getElement().setAttribute("align", "center");
westTrees.add(tree);
FlowPanel resultsPanel = new FlowPanel();
resultsPanel.setStyleName("resultsPanel");
for(int i=0; i<searchResults.size(); i++)
{
HTML box = builder.toHTML(i);
box.setStyleName("resultBox");
resultsPanel.add(box);
}
dock.addWest(westTrees, 20);
dock.addNorth(RootPanel.get("wrap"),20);
dock.add(resultsPanel);
}
私のコードの先頭に私は私のRootLayoutPanelにドック(DockLayoutPanel)を追加します。ここでは、Javaコードです。
Iは最初の画像で示すよう...絶対に設定された位置で私がスクロールバーを有することができ、結果がカットされ、私は位置無効にした場合:第PIC
に示すように、絶対的なスクロールバーが有効になっており、すべての結果に完全にアクセスできます。
スクロールバーは、次のように設定されている:私が何をしようとしています何
RootLayoutPanel.get().getWidgetContainerElement(dock).getStyle().setOverflowY(Overflow.AUTO);
は、すべてのdockLayoutPanelの子のための位置を削除するか、私に問題を作成していない何か他のものに設定しています。