2017-04-14 7 views
-1

私はJavaを初めて使用しています。TextAreaはGridPaneに適合

GridPaneに入れたいと思います。私はこの結果と、最後の数時間のためにこれを試してみました:

enter image description here

見ての通り、TextAreaが私のGridpaneよりもはるかに大きいです。ここに私のコードは次のとおりです。

GridPane root = new GridPane(); 
root.setGridLinesVisible(true); 
root.setHgap(20); 
root.setVgap(8); 
root.setPadding(new Insets(10, 10, 10, 10)); 

ColumnConstraints col1 = new ColumnConstraints(); 
col1.setPercentWidth(50); 
ColumnConstraints col2 = new ColumnConstraints(); 
col2.setPercentWidth(50); 
root.getColumnConstraints().addAll(col1,col2); 

RowConstraints row1 = new RowConstraints(); 
RowConstraints row2 = new RowConstraints(); 
RowConstraints row3 = new RowConstraints(); 
RowConstraints row4 = new RowConstraints(); 


row1.setPrefHeight(20); 
row2.setPrefHeight(20); 
row3.setPrefHeight(40); 
row4.setPrefHeight(20); 

root.getRowConstraints().addAll(row1,row2,row3,row4); 

GridPane.setVgrow(root, Priority.ALWAYS); 


Label Opt1 = new Label("Operand 1"); 
Label Opt2 = new Label("Operand 2"); 
Label Erg = new Label("Ergebnis"); 


TextArea txtOpt1 = new TextArea(); 
TextArea txtOpt2 = new TextArea(); 
TextArea txtErg = new TextArea(); 


txtErg.setEditable(false); 

Button btnPlus = new Button("+"); 
Button btnMinus = new Button("-"); 
Button btnMal = new Button("*"); 
Button btnGeteilt = new Button("/"); 

HBox Opts = new HBox(10); 
HBox hblbl1 = new HBox(); 

hblbl1.getChildren().add(txtOpt1); 

Opts.getChildren().add(btnGeteilt); 
Opts.getChildren().add(btnMal); 
Opts.getChildren().add(btnMinus); 
Opts.getChildren().add(btnPlus); 
Opts.setAlignment(Pos.CENTER); 

root.add(Opt1, 0, 0); 
root.add(Opt2, 0, 1); 
root.add(hblbl1, 1, 0); 
root.add(txtOpt2, 1, 1); 
root.add(Opts, 0, 2, 2, 1); 
root.add(Erg, 0, 3); 
root.add(txtErg, 1, 3); 
+0

grid.add(textArea)を試しましたか? – Aaron

+0

[mcve]を参照してください。あなたのコードは実行可能ではありません。 – user1803551

答えて

1

あなたはどのようなテキスト領域ができるよりも小さい高さに、グリッドペインの行を制限しているのでTextAreaのが私のGridpane

よりもはるかに大きいです

お探しの商品が実際にTextFieldで、TextAreaではありません。私は、行の制約を削除し、代わりにTextFieldsを使用します。

enter image description here

また、GridPane.setVgrow(root, Priority.ALWAYS);は何もしません。 setVgrowは、内のコンポーネントを指定します。グリッドペインが成長する必要があります。グリッドペイン自体をコンポーネントとして指定すると意味がありません。

関連する問題