2012-03-05 2 views
1

У меня есть простое приложение JavaFX, в котором есть несколько текстовых полей и 1 текстовая область в gridpane, проблема заключается в том, что если разместить текстовое поле под любым текстовым полем, они будут изменены до размера текстового поля , Мне нужно, чтобы textarea охватывал несколько столбцов сетки, не затрагивая другие элементы управления. это, как я добавляю элементы управления:JavaFX Spanning Columns with TextArea

grid.setRowIndex(lblDesc, 3); 
grid.setColumnIndex(lblDesc, 2); 
grid.setRowIndex(tfDesc, 4); 
grid.setColumnIndex(tfDesc,2);  
grid.getChildren().addAll(lblDesc, tfDesc); 

Благодаря Рик

ответ

0

Вы должны взглянуть на API и попробовал один из методов, которые поддерживают охватывающие столбцы?

http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/GridPane.html

+0

Спасибо, я посмотрел на него, но, но может» t, похоже, доступ к нему через ColumnContraint? где это расположено? – RobD

+0

Используйте методы GridPane, например: http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/GridPane.html#add%28javafx.scene.Node,%20int,%20int,% 20int,% 20int% 29 http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/GridPane.html#setColumnSpan%28javafx.scene.Node,%20java.lang.Integer%29 http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/GridPane.html#setConstraints%28javafx.scene.Node,%20int,%20int,%20int,%20int%29 Там больше ... – Puce

+0

Puce, Thanks Much Got it now. – RobD

0

Я бы рекомендовал root.add (элемент, столбец, строка, Colspan, RowSpan)

Где корень

GridPane root = new GridPane(); 
root.setAlignment(Pos.TOP_LEFT); 
root.setHgap(10); 
root.setVgap(10); 
root.setPadding(new Insets(50, 50, 50, 50)); 

//Add each element to the GridPane 
//.add(element, column, row ,column span, row span) span must be >0 

//row 0 
root.add(sourceDirLabel, 0, 0, 2, 1); 

//row1 
root.add(sourceDirText,0, 1, 3, 1); 
root.add(sourceDirBtn, 3, 1); 

//row 2 
root.add(outputDirLabel, 0, 2, 2, 1); 

//row3 
root.add(outputDirText,0, 3, 3, 1); 
root.add(outputDirBtn, 3, 3); 

//row4 
root.add(runBtn, 0 , 4);