JavaFX:避免指定绝对宽度
我在JavaFX:避免指定绝对宽度,javafx,splitpane,Javafx,Splitpane,我在SplitPane中有一个SplitPane——都是水平的。我希望避免指定绝对宽度/高度。如果未指定宽度/高度,则不会显示第二个拆分窗格: <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import javafx.scene.Group?> <?import javafx.scene.layout.*?> <BorderPane ma
SplitPane
中有一个SplitPane
——都是水平的。我希望避免指定绝对宽度/高度。如果未指定宽度/高度,则不会显示第二个拆分窗格
:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.Group?>
<?import javafx.scene.layout.*?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="500.0" style="-fx-background-color: cornsilk;" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<left>
<ToolBar orientation="VERTICAL">
<items>
<Group>
<children>
<Button rotate="-90.0" text="Project" />
</children>
</Group>
<Group>
<children>
<Button rotate="-90.0" text="Structure" />
</children>
</Group>
</items>
</ToolBar>
</left>
<center>
<SplitPane dividerPositions="0.25" style="-fx-background-color:red;">
<items>
<AnchorPane style="-fx-background-color:darkblue;"/>
<AnchorPane style="-fx-background-color:gold;">
<children>
<SplitPane dividerPositions="0.25">
<items>
<AnchorPane style="-fx-background-color:khaki;"/>
<AnchorPane style="-fx-background-color:lime;"/>
</items>
</SplitPane>
</children>
</AnchorPane>
</items>
</SplitPane>
</center>
</BorderPane>
用
定义拆分窗格
修复了问题,以下是MWE:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.Group?>
<?import javafx.scene.layout.*?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="700.0" style="-fx-background-color: cornsilk;" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<left>
<ToolBar orientation="VERTICAL">
<items>
<Group>
<children>
<Button rotate="-90.0" text="Project" />
</children>
</Group>
<Group>
<children>
<Button rotate="-90.0" text="Structure" />
</children>
</Group>
</items>
</ToolBar>
</left>
<center>
<SplitPane dividerPositions="0.25" style="-fx-background-color:red;">
<items>
<AnchorPane style="-fx-background-color:green;"/>
<AnchorPane style="-fx-background-color:blue;">
<children>
<SplitPane dividerPositions="0.25" AnchorPane.topAnchor="0.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<items>
<AnchorPane style="-fx-background-color:black;"/>
<AnchorPane style="-fx-background-color:aqua;"/>
</items>
</SplitPane>
</children>
</AnchorPane>
</items>
</SplitPane>
</center>
</BorderPane>
如果您不想为拆分窗格指定任何宽度,则必须至少为其子窗格指定宽度,在您的情况下,AnchorPane
。因此,它不可能与其父窗格一样宽,即100%?