Въпросът основно казва всичко, спредупреждавам, че аз съм начинаещ в GUI дизайна като цяло и JavaFX в частност. Настройте (плъзнете) размера на SplitPane, за да съответства на размера на раздела. Това не е проблем, ако SplitPane не е дете (аз го тествах само като (голямо) дете на Tab досега). Ще имате нещо подобно:
При предварителен преглед, ако се опитате да разширите размера на прозореца чрез плъзгане, SplitPane няма да промени размера:
Тук е FXML, който получавам от SceneBuilder, използвайки процеса, описан в горната част на този пост с може би няколко незначителни промени, които не помогнаха:
<?xml version="1.0" encoding="utf-8"?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
<tabs>
<Tab text="Untitled Tab 1">
<content>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="0.0" minWidth="0.0" prefHeight="386.0" prefWidth="613.0">
<children>
<SplitPane dividerPositions="0.29797979797979796" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="358.0" prefWidth="600.0">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="158.0" prefWidth="277.0" />
</items>
</SplitPane>
</children></AnchorPane>
</content>
</Tab>
<Tab text="Untitled Tab 2">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
</tabs>
</TabPane>
Отговори:
2 за отговор № 1Проблемът е, че вашият SplitPane е дете наAnchorPane. В случай, че имате нещо под AnchorPane, то е привързано към специфични координати. За да позволите на детето да поеме цялото, трябва да посочите котвата на AnchorPane нула.
<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
<tabs>
....
<SplitPane dividerPositions="0.29797979797979796" maxHeight="-Infinity"
maxWidth="-Infinity" prefHeight="358.0" prefWidth="600.0"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
....
</tabs>
</TabPane>
С помощта на създател на сцени можете да присвоите ограниченията на AnchorPane чрез:
- Изберете детето под AnchorPane
- Преместете се в секцията Layout (Разпределение) от дясната страна на панела
- Ще видите раздел, наречен AnchorPane ограничения, просто въведете четирите раздели стойности и запишете