ScrollPane内部大小限制

时间:2014-12-12 11:19:35

标签: java javafx javafx-8

我有这样的fxml视图:

<VBox prefHeight="287.0" prefWidth="268.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
<children>
    <HBox>
        <children>
            <MenuBar HBox.hgrow="ALWAYS">
                <menus>
                    <Menu mnemonicParsing="false" text="File">
                        <items>
                            <MenuItem mnemonicParsing="false" text="Close" />
                        </items>
                    </Menu>
                    <Menu mnemonicParsing="false" text="Edit">
                        <items>
                            <MenuItem mnemonicParsing="false" text="Delete" />
                        </items>
                    </Menu>
                    <Menu mnemonicParsing="false" text="Help">
                        <items>
                            <MenuItem mnemonicParsing="false" text="About" />
                        </items>
                    </Menu>
                </menus>
            </MenuBar>
        </children>
    </HBox>
  <HBox>
     <children>
        <ScrollPane fx:id="scrollPane" HBox.hgrow="ALWAYS">
           <content>
              <Pane>
                 <children>
                    <Pagination fx:id="paginator" />
                 </children>
              </Pane>
           </content>
        </ScrollPane>
     </children>
  </HBox>
</children>
</VBox>

这是我对此视图的控制器:

 @Override
public void initialize(URL location, ResourceBundle resources) {
    paginator.setPageFactory(new Callback<Integer, Node>() {
        @Override
        public Node call(Integer param) {
            return createPage(param);
        }
    });
}

private Node createPage(Integer param){
    VBox rootVBox = new VBox();
    List<Ad> stories = null;
    try {
        stories = JSoupHelper.getStories(param);
        for (Ad ad: stories){
            Label title = new Label(ad.getTitle());
            Label text = new Label(ad.getText());
            VBox vBox = new VBox(title, text);
            HBox hBox = new HBox(new ImageView(new Image("file:trayicon.png")), vBox);
            hBox.setMaxSize(USE_COMPUTED_SIZE, USE_COMPUTED_SIZE);
            rootVBox.getChildren().add(hBox);
        }
    } catch (IOException e) {
        return new Label("Подключиться не удалось");
    }
    return rootVBox;
}

当我运行我的应用时,我看到了这个: enter image description here

但我希望看到这样的: enter image description here

我的ScrollPane中的任何小部件都是最大的(。

HBarPolicy = AS_NEEDED |从来没有帮助我解决我的问题。

1 个答案:

答案 0 :(得分:0)

问题解决了。我的Scrollpane中的其他窗格会出现此问题。我删除它,一切都完成了。 srollPane.setFitToWidth(true)正常工作。