JavaFX:为什么scrollpane包含一个splitpane?

时间:2014-05-16 22:20:43

标签: java javafx-2 javafx-8

我正在尝试了解JavaFX中的小部件是如何工作的,并且考虑到以下FXML,我不知道为什么ScrollPaneListView之后进行拆分:

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

<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.ToolBar?>
<?import javafx.scene.Group?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.Pane?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0"
            prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
    <top>
        <Pane prefHeight="195.0" prefWidth="600.0" BorderPane.alignment="CENTER">
            <children>
                <Group>
                    <children>
                        <Label layoutX="58.0" layoutY="25.0" prefHeight="15.0" prefWidth="80.0" text="Testlabel "/>
                    </children>
                </Group>
            </children>
        </Pane>
    </top>
    <center>
        <ScrollPane fx:id="scrollPane" prefHeight="200.0" prefWidth="600.0" BorderPane.alignment="CENTER">
            <content>
                <ListView/>
            </content>
        </ScrollPane>
    </center>
    <bottom>
        <ToolBar layoutX="-86.0" layoutY="150.0" prefWidth="200.0">
            <items>

            </items>
        </ToolBar>
    </bottom>
</BorderPane>

如果列表太长,我只想让ListView有可能滚动。在Linux Mint上使用最新的JDK 8(1.8.0_05)中包含的JavaFX。

1 个答案:

答案 0 :(得分:-1)

minWidth="600"作为ListView的属性来解决问题:

    <ScrollPane fx:id="scrollPane" prefHeight="100.0" prefWidth="600.0" BorderPane.alignment="CENTER">
        <ListView minWidth="600"/>
    </ScrollPane>

但我必须承认这完全不直观。 JavaFX应该自己确定首选宽度应该是多少。闻起来像Swing人开发JavaFX。