JavaFX 2 : GridPane에서 행이나 열을 어떻게 삭제합니까?
문제
JavaFX에서 프로그래밍 방식으로 텍스트 필드 행을 추가하려면 단순히 GridPane 추가 방법
를 사용할 수 있습니다.이 텍스트 필드 세트를 행 1로 추가합니다.
for (int i = 0; i < Fields.size(); i++) {
gridpane.add(new TextField(), i, 1);
}
.
마찬가지로 행을 삭제합니까?javafx에서 행 / 열을 삭제하는 적절한 방법을 찾지 못합니다.
해결책
직접 동등한 방법이 없습니다.노드를 제거하려면 사용하십시오
gridpane.getChildren().remove(...);
또는 gridpane.getChildren().removeAll(...);
및 패널에서 제거하려는 노드에서 전달합니다.
다른 팁
Java 8+에서는 removeIf
:
gridPane.getChildren().removeIf(node -> GridPane.getRowIndex(node) == rowNumber);
.
cakeat
0 번째 행 에서 항목을 제거하는 경우 GridPane.getRowIndex(node) == null
, i.e.,
node -> GridPane.getRowIndex(node) == null || GridPane.getRowIndex(node) == 0
.
FXML에서 행 번호를 제공하지만 FXML에서 해당 요소에 행 번호가 없을 때 JavaFX는 javafx가 javafx가 null
를 남겨 두지 않지만 기본 행은 0 번째 행에 있음을 의미합니다.0 번째 행.) 이것은 꽤 잘 작동합니다 :
while(MainGridPane.getRowConstraints().size() > 0){
MainGridPane.getRowConstraints().remove(0);
}
while(MainGridPane.getColumnConstraints().size() > 0){
MainGridPane.getColumnConstraints().remove(0);
}
. 제휴하지 않습니다 StackOverflow