Ich habe ein Problem, das mich für ein paar Tage verrückt hat.JavaFX Wie ändere ich die GridPane Zeilenhöhe programmgesteuert
Ich habe ein GridPane und ich möchte die erste Zeile ausblenden, wenn ich auf eine Schaltfläche klicke.
Dies ist die FXML Datei
<VBox prefHeight="200.0" prefWidth="100.0">
<children>
<Button fx:id="buttonTest" mnemonicParsing="false" onAction="#handleButtonTestAction" text="Button" />
<GridPane fx:id="gridPaneTest" gridLinesVisible="true" layoutX="0.5" layoutY="0.5" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label fx:id="labelTopLeft" text="top left">
<font>
<Font size="15.0" />
</font>
</Label>
<Label fx:id="labelTopRight" text="top right" GridPane.columnIndex="1">
<font>
<Font size="15.0" />
</font>
</Label>
<Label text="center left" GridPane.rowIndex="1">
<font>
<Font size="15.0" />
</font>
</Label>
<Label text="center right" GridPane.columnIndex="1" GridPane.rowIndex="1">
<font>
<Font size="15.0" />
</font>
</Label>
<Label text="bottom left" GridPane.rowIndex="2">
<font>
<Font size="15.0" />
</font>
</Label>
<Label text="bottom right" GridPane.columnIndex="1" GridPane.rowIndex="2">
<font>
<Font size="15.0" />
</font>
</Label>
</children>
</GridPane>
</children>
</VBox>
Wenn ich auf den Button klicke ich dieses tun
@FXML
public void handleButtonTestAction() {
labelTopLeft.setVisible(false);
labelTopRight.setVisible(false);
gridPaneTest.getRowConstraints().get(0).setMinHeight(0);
gridPaneTest.getRowConstraints().get(0).setPrefHeight(0);
gridPaneTest.getRowConstraints().get(0).setMaxHeight(0);
}
Nachdem ich auf die Schaltfläche klicken, die Etiketten sind unsichtbar wie erwartet, aber die Höhe der Die erste Zeile ändert sich überhaupt nicht. Muss ich das GridPane aktualisieren, nachdem ich die Zeilenbeschränkungen geändert habe oder gibt es sonst noch etwas zu tun?
DANKE!
Möchten Sie die Zeile ausblenden oder die Zeile löschen? – ItachiUchiha
Ich möchte nur die Reihe verstecken. Es wird für eine Filterfunktion von einer Suche verwendet werden – stefOCDP