Frage

Wenn ich in JavaFX programmgesteuert eine Reihe von Textfeldern hinzufügen möchte, kann ich einfach die gridpane add-Methode verwenden

Dadurch wird Zeile 1 eine Reihe von Textfeldern hinzugefügt.

for (int i = 0; i < Fields.size(); i++) {
   gridpane.add(new TextField(), i, 1);
}

Ebenso, wie lösche ich eine Zeile?.Ich finde keine geeignete Methode, um eine Zeile / Spalte in JavaFX bequem zu löschen.

War es hilfreich?

Lösung

Es gibt keine direkt äquivalente Methode.Um Knoten zu entfernen, verwenden Sie einfach gridpane.getChildren().remove(...); oder gridpane.getChildren().removeAll(...); und übergeben Sie die Knoten, die Sie aus dem Bereich entfernen möchten.

Andere Tipps

In Java 8+ können Sie verwenden removeIf:

gridPane.getChildren().removeIf(node -> GridPane.getRowIndex(node) == rowNumber);

Vorbehalt
Wenn Sie Elemente aus dem 0. Reihe, überprüfen Sie auch GridPane.getRowIndex(node) == null, also.,

node -> GridPane.getRowIndex(node) == null || GridPane.getRowIndex(node) == 0

(Ich denke, das ist JavaFX, wobei die Zeilennummer wie folgt belassen wird null wenn im entsprechenden Element in FXML keine Zeilennummer angegeben ist, obwohl die Angabe keiner Zeilennummer in FXML bedeutet, dass sich das Element in der 0. Zeile befindet, da die Standardzeile die 0. Zeile ist.)

Das funktioniert ziemlich gut:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top