2016-12-13 8 views
0

Java FX GridPaneレイアウトの行に2つのテキストフィールドを追加します。また、空き領域全体に1つのテキストフィールドを埋めたいと思います。 GridPaneをシーンに直接追加すると、正常に動作しています。しかし、Group(または他のレイアウト)のような別のレイアウトにGridPaneを追加すると、fillプロパティが正しく動作しません。レイアウト内でJavaFx Fill WidthColumn制約が機能しない

次のコードは期待どおりに機能しています。

public void start(final Stage stage) { 
    GridPane parent = new GridPane(); 
    TextField addEmail = new TextField(); 
    TextField addFirstName = new TextField(); 
    parent.add(addEmail, 0, 0); 
    parent.add(addFirstName, 1, 0); 

    ColumnConstraints cons1 = new ColumnConstraints(); 
    cons1.setFillWidth(true); 
    cons1.setHgrow(Priority.ALWAYS); 

    parent.getColumnConstraints().add(cons1); 

    Scene scene = new Scene(parent, 400, 300, Color.WHITE); 
    stage.setScene(scene); 
    stage.show(); 
} 

enter image description here

1に続いて、作業(しかし、私はこの仕事をしたい)されていません。

public void start(final Stage stage) { 
     GridPane parent = new GridPane(); 
     TextField addEmail = new TextField(); 
     TextField addFirstName = new TextField(); 
     parent.add(addEmail, 0, 0); 
     parent.add(addFirstName, 1, 0); 

     ColumnConstraints cons1 = new ColumnConstraints(); 
     cons1.setFillWidth(true); 
     cons1.setHgrow(Priority.ALWAYS); 

     parent.getColumnConstraints().add(cons1); 

     Group group = new Group(); 
     group.getChildren().addAll(parent); 
     Scene scene = new Scene(group, 400, 300, Color.WHITE);   
     stage.setScene(scene); 
     stage.show(); 
    } 

enter image description here

私はので、私のアプローチは完全に間違って正しいパスを私に指示してくださいかもしれJavaのFXへの新たなんです。

答えて

3

申し訳ありませんが、誤った親を選択しました。デフォルトではthe javadoc of Group:

から

、レイアウトパス中に好みのサイズからGroup意志「自動サイズ」その管理サイズ変更可能な子供そのRegion Sを確保し、Control状態の変化に応じて適切なサイズに調整されます。

Groupは、好みのサイズにサイズ変更する以外のサイズを変更しません。

サイズを変更する親にGridPaneを置いた場合のみ(例: StackPane、サイズは変更されています...

+0

ありがとう、ファビアン、私はアンカーペインとスクロールペインでも試しました。あなたの答えによると、同様のことはそれらのレイアウトにも同様に適用されますか? –

+0

@ NishanSenevirathnaレイアウトパラメータに完全に依存します。 'AnchorPane'を' GridPane'のための左右のアンカー、 'fitToWidth' =' true'の 'ScrollPane'に設定してみてください – fabian

+0

助けてくれたFabianに感謝します。 FitToWidthはScrollPaneにうまくいきます。あなたは私の日を救う! –

関連する問題