Stretching a block to the full height of the Java FX parent
There is such a FXML
:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1280.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.supply.department.Controller">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints />
<RowConstraints maxHeight="644.0" minHeight="10.0" prefHeight="644.0" valignment="CENTER" vgrow="ALWAYS" />
</rowConstraints>
<children>
<TabPane tabClosingPolicy="UNAVAILABLE" GridPane.halignment="CENTER" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1" GridPane.valignment="BASELINE" GridPane.vgrow="ALWAYS">
<tabs>
<Tab closable="false" text="Приход">
<content>
<GridPane alignment="CENTER" gridLinesVisible="true" hgap="100.0" vgap="100.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="585.5" minHeight="10.0" percentHeight="100.0" prefHeight="358.5" valignment="CENTER" vgrow="ALWAYS" />
</rowConstraints>
<children>
<TableView fx:id="tableView" fixedCellSize="0.0" prefHeight="763.0" prefWidth="1907.0" tableMenuButtonVisible="true" GridPane.hgrow="ALWAYS" GridPane.vgrow="ALWAYS">
<columns>
<TableColumn prefWidth="-1.0" text="№" />
<TableColumn prefWidth="-1.0" text="Дата" />
<TableColumn prefWidth="-1.0" text="№ приходнго документа" />
<TableColumn prefWidth="-1.0" text="№ и дата доверенности" />
<TableColumn prefWidth="-1.0" text="ФИО" />
<TableColumn prefWidth="-1.0" text="Поставщик" />
<TableColumn prefWidth="-1.0" text="Наименование" />
<TableColumn prefWidth="-1.0" text="Группа материалов" />
<TableColumn prefWidth="-1.0" text="Ед. измерения" />
<TableColumn prefWidth="-1.0" text="Кол-во" />
<TableColumn prefWidth="-1.0" text="Цена" />
<TableColumn prefWidth="-1.0" text="Сумма" />
<TableColumn prefWidth="-1.0" text="Код закупки" />
<TableColumn prefWidth="-1.0" text="Группа бух.учета" />
<TableColumn prefWidth="-1.0" text="Дополнительные параметры" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</children>
</GridPane>
</content>
</Tab>
<Tab closable="false" text="Расход">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
</tabs>
</TabPane>
<MenuBar>
<menus>
<Menu mnemonicParsing="false" text="Файл">
<items>
<MenuItem mnemonicParsing="false" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Правка">
<items>
<MenuItem mnemonicParsing="false" text="Delete" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Справка">
<items>
<MenuItem mnemonicParsing="false" text="About" />
</items>
</Menu>
</menus>
</MenuBar>
</children>
</GridPane>
When the application starts, the table does not reach the end of the window:
Tell me how to make the table occupy the entire height of the parent GridPane
?
0
2 answers
Set the maximum height of the row.
<RowConstraints maxHeight="1.7976931348623157E308" ...
This will set the maximum height of the element to the maximum available height. Since you have a certain value, the height of the row can not be greater than the specified value
1
Author: Serhii Dikobrazko, 2018-06-13 19:32:01
Maybe this is better? that is, do not use GridPane and instead work with an AnchorPane and sideways...
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<VBox xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.supply.department.Controller">
<children>
<MenuBar>
<menus>
<Menu mnemonicParsing="false" text="Файл">
<items>
<MenuItem mnemonicParsing="false" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Правка">
<items>
<MenuItem mnemonicParsing="false" text="Delete" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Справка">
<items>
<MenuItem mnemonicParsing="false" text="About" />
</items>
</Menu>
</menus>
</MenuBar>
<AnchorPane>
<children>
<TabPane prefHeight="700.0" prefWidth="1280.0" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<tabs>
<Tab closable="false" text="Приход">
<content>
<GridPane alignment="CENTER" gridLinesVisible="true" hgap="100.0" vgap="100.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="585.5" minHeight="10.0" percentHeight="100.0" prefHeight="358.5" valignment="CENTER" vgrow="ALWAYS" />
</rowConstraints>
</GridPane>
</content>
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<TableView fx:id="tableView" fixedCellSize="0.0" prefHeight="763.0" prefWidth="1907.0" tableMenuButtonVisible="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columns>
<TableColumn prefWidth="-1.0" text="№" />
<TableColumn prefWidth="-1.0" text="Дата" />
<TableColumn prefWidth="-1.0" text="№ приходнго документа" />
<TableColumn prefWidth="-1.0" text="№ и дата доверенности" />
<TableColumn prefWidth="-1.0" text="ФИО" />
<TableColumn prefWidth="-1.0" text="Поставщик" />
<TableColumn prefWidth="-1.0" text="Наименование" />
<TableColumn prefWidth="-1.0" text="Группа материалов" />
<TableColumn prefWidth="-1.0" text="Ед. измерения" />
<TableColumn prefWidth="-1.0" text="Кол-во" />
<TableColumn prefWidth="-1.0" text="Цена" />
<TableColumn prefWidth="-1.0" text="Сумма" />
<TableColumn prefWidth="-1.0" text="Код закупки" />
<TableColumn prefWidth="-1.0" text="Группа бух.учета" />
<TableColumn prefWidth="-1.0" text="Дополнительные параметры" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</children>
</AnchorPane>
</content>
</Tab>
<Tab closable="false" text="Расход" />
</tabs>
</TabPane>
</children>
</AnchorPane>
</children>
</VBox>
1
Author: Muzaffar Rasulov, 2018-06-13 20:02:46