JavaFX 2:GridPaneで行または列を削除する方法
質問
JavaFXでプログラムで行の行を追加したい場合は、単にGridPane Addメソッド
を使用できます。
for (int i = 0; i < Fields.size(); i++) {
gridpane.add(new TextField(), i, 1);
}
.
同様に、行を削除する方法私はjavafxで行/列を議論するのに適した方法を見つけてはいけません。
解決
直接同等の方法はありません。ノードを削除するには、単に使用してください
Paneから削除したいノードをgridpane.getChildren().remove(...);
またはgridpane.getChildren().removeAll(...);
またはpass;
他のヒント
Java 8以降では、 removeIf
:
gridPane.getChildren().removeIf(node -> GridPane.getRowIndex(node) == rowNumber);
.
警告
0行から項目を削除する場合は、GridPane.getRowIndex(node) == null
、すなわち。、
node -> GridPane.getRowIndex(node) == null || GridPane.getRowIndex(node) == 0
.
(これは、FXMLの対応する要素に行番号が指定されていない場合はJavaFXをnull
に残していると思います.FXMLに行番号が指定されていなくても、デフォルトの行は0番目の行です。0番目の行)
これはかなりうまく機能します:
while(MainGridPane.getRowConstraints().size() > 0){
MainGridPane.getRowConstraints().remove(0);
}
while(MainGridPane.getColumnConstraints().size() > 0){
MainGridPane.getColumnConstraints().remove(0);
}
. 所属していません StackOverflow