문제

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);
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top