2016-11-07 1 views
0

GridPane에서 가로로 한 행을 가운데에 배치하려고합니다. 가로 세로로 열 (root.getColumnConstraints().get(0).setHalignment(HPos.CENTER);)을 가운데에 배치하는 방법을 알고 있지만 행에 대해이 메서드를 찾을 수 없습니다. 열의 Halignment 속성과 행의 Valignment 속성 만 변경할 수 있습니다. 그러나 내가 필요로하는 것은 존재하지 않는 행의 줄임말이다. 그러면 어떻게해야합니까?가로 GridPane에서 가로로 행 JAVAFX

This is what I want at the end

+0

가능한 중복 - 방법 중심 요소] (http://stackoverflow.com/questions/12816075/javafx-gridpane-how-to-center-elements) – ItamarG3

답변

0

그것은 전체 행에 대한 사용 제약에이 작업을 수행 할 수 없습니다,하지만 당신은 ColumnConstraints보다 우선합니다 GridPane.setHalignment를 사용하여 행의 모든 ​​Node들에 대한 속성을 설정할 수 있습니다. 당신은 또한 노드 후이 작업을 수행 할 수 있습니다

@Override 
public void start(Stage primaryStage) { 
    Text text00 = new Text("text"); 
    Text text01 = new Text("text"); 
    Text text02 = new Text("text"); 
    Text text10 = new Text("text"); 
    Text text11 = new Text("text"); 
    Text text12 = new Text("text"); 
    GridPane gridPane = new GridPane(); 

    ColumnConstraints cConstraints = new ColumnConstraints(); 
    cConstraints.setHalignment(HPos.LEFT); 
    cConstraints.setHgrow(Priority.ALWAYS); 
    gridPane.getColumnConstraints().addAll(cConstraints, cConstraints); 
    gridPane.addColumn(0, text00, text01, text02); 
    gridPane.addColumn(1, text10, text11, text12); 

    GridPane.setHalignment(text11, HPos.CENTER); 
    GridPane.setHalignment(text01, HPos.CENTER); 

    Scene scene = new Scene(gridPane); 

    primaryStage.setScene(scene); 
    primaryStage.show(); 
} 

참고 아이들을 반복하여 GridPane에 추가되었습니다

int alignRow = 1; 
for (Node n : gridPane.getChildren()) { 
    Integer row = GridPane.getRowIndex(n); 
    int rowNumber = row == null ? 0 : rowNumber.intValue(); 
    if (rowNumber = alignRow) { 
     GridPane.setHalignment(n, HPos.CENTER); 
    } 
} 
[자바 FX GridPane의
관련 문제