JavaFX场景生成器ScrollPane仅滚动几个像素

时间:2014-01-08 00:25:06

标签: javafx javafx-2 scenebuilder

我有一个小型数据库,它将标签添加到VBox中,该文件位于AnchorPane中,属于ScrollPane。从技术上讲,它工作得很好,除了滚动运动是最小的。从滚动条的顶部到底部移动只有几十个像素。

我已尝试在布局菜单中修改属性中的所有设置,但没有任何事情发生,除了它有时会破坏并反转滚动的方向。

我应该怎样做才能使滚动窗格滚动更多?

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
  <children>
    <ScrollPane layoutX="100.0" layoutY="52.0" pannable="false" prefHeight="200.0" prefWidth="200.0" vmax="100.0">
      <content>
        <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0">
          <children>
            <VBox prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
              <children>
                <Label text="Label">
                  <font>
                    <Font size="50.0" fx:id="x1" />
                  </font>
                </Label>
                <Label font="$x1" text="Label" />
                <Label font="$x1" text="Label" />
                <Label font="$x1" text="Label" />
                <Label font="$x1" text="Label" />
              </children>
            </VBox>
          </children>
        </AnchorPane>
      </content>
    </ScrollPane>
  </children>
</AnchorPane>

1 个答案:

答案 0 :(得分:0)

您的样本FXML的推荐修复:

  1. 请勿在垂直滚动条上设置vmax
  2. 添加更多内容(例如更多标签),因此实际上可以滚动内容。
  3. 不要将保存可滚动内容的VBox放在AnchorPane中。

  4. 试试这个版本:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
    <?import javafx.scene.text.*?>
    
    <AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
      <ScrollPane layoutX="100.0" layoutY="52.0" pannable="false" prefHeight="200.0" prefWidth="200.0">
        <VBox prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
          <Label text="Label">
            <font>
              <Font size="50.0" fx:id="x1" />
            </font>
          </Label>
          <Label font="$x1" text="Label" />
          <Label font="$x1" text="Label" />
          <Label font="$x1" text="Label" />
          <Label font="$x1" text="Label" /><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/><Label font="$x1" text="Label"/>
        </VBox>
      </ScrollPane>
    </AnchorPane>