Имам мрежов панел, който изглежда като KeyBoard, и трябва да обединя някои клетки, за да сложа бутон „Интервал“. Но не мога да намеря никаква опция в настройките на мрежовия панел, която да реши проблема ми.. Някой има ли идея как Мога ли да го постигна?
Как да обединим клетки в JavaFX Scene builder?
Отговори (1)
Настройте своята мрежа с елементи в нея
- Създайте GridPane.
- Поставете възли в мрежата.
- Изберете възел в мрежата.
Много, много важно е на този етап да бъде избран възел в мрежата. . .
След това или:
А. Използвайте елементите от менюто
- Изберете
Modify | GridPane
Изберете някоя от
Increase Row Span Decrease Row Span Increase Column Span Decrease Column Span
Б. Използвайте панела за оформление
- Променете стойностите на обхвата на редовете или обхвата на колоните.
Бележки за оформлението
За да получите наистина нещо, което да запълни мрежата и да обхване редове или колони по желания от вас начин, може да се наложи да промените други параметри на оформлението на възела или неговите ограничения на мрежата в панела за оформление. Например бутонът обикновено няма да надхвърли предпочитания размер, така че задайте максималната му височина и ширина на MAX_VALUE. Друг пример е да имате етикет, центриран в две колони, да зададете неговия Hgrow на ВИНАГИ и неговото изравняване на CENTER.
Примерна екранна снимка
Има елементи от менюто за настройка на обхвата на редовете и колоните, а също и текстови полета за оформление в най-дясната част. За съжаление, StackOverflow компресира снимката и я прави малко замъглена.
Примерен FXML
<?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.*?>
<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>
<GridPane layoutX="116.0" layoutY="155.0">
<children>
<Button maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" text="Button" GridPane.columnIndex="0" GridPane.columnSpan="2147483647" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1" GridPane.vgrow="ALWAYS" />
<Label text="Label" GridPane.columnIndex="0" GridPane.rowIndex="0" />
<Label maxWidth="-1.0" text="Label" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.hgrow="ALWAYS" GridPane.rowIndex="0" />
<Label text="Label" GridPane.columnIndex="0" GridPane.rowIndex="2" />
<Label text="Label" GridPane.columnIndex="1" GridPane.rowIndex="2" GridPane.rowSpan="2" />
<Label text="Label" GridPane.columnIndex="2" GridPane.rowIndex="2" />
<Label text="Label" GridPane.columnIndex="2" GridPane.rowIndex="3" />
</children>
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
</children>
</AnchorPane>