Trying to achieve:
Text Field 1
andText Field 3
should occupy all the available free spaceButton 1
andButton 2
should have same width
Issue:
Text Field 1
and Text Field 3
are NOT occupying all the available free space (though they are growing once Label
is completely displayed)
Here is the screen shot:
// Removed imports for brevity
public class GridPaneTest extends Application
{
@Override
public void start(Stage primaryStage)
{
primaryStage.setTitle("GridPane Test");
GridPane gridPane = new GridPane();
// gridPane.setGridLinesVisible(true);
gridPane.setHgap(5);
gridPane.setVgap(5);
gridPane.setPadding(new Insets(5));
TextField tf1 = new TextField("Text Field 1");
GridPane.setHgrow(tf1, Priority.ALWAYS);
gridPane.add(tf1, 0, 0);
TextField tf2 = new TextField("Text Field 2");
GridPane.setHgrow(tf2, Priority.NEVER);
gridPane.add(tf2, 1, 0);
Button button1 = new Button("Button 1");
button1.setMaxWidth(140);
GridPane.setHgrow(button1, Priority.NEVER);
GridPane.setHalignment(button1, HPos.RIGHT);
gridPane.add(button1, 2, 0);
TextField tf3 = new TextField("Text Field 3");
GridPane.setHgrow(tf3, Priority.ALWAYS);
gridPane.add(tf3, 0, 1, 2, 1);
Button button2 = new Button("Button 2 Button 2");
button2.setMaxWidth(140);
GridPane.setHgrow(button2, Priority.NEVER);
GridPane.setHalignment(button2, HPos.RIGHT);
gridPane.add(button2, 2, 1);
Label label1 = new Label(
"Label 1 Label 1 Label 1 Label 1 Label 1 Label 1 Label 1 Label 1 Label 1 Label 1 Label 1");
GridPane.setHgrow(label1, Priority.ALWAYS);
gridPane.add(label1, 0, 2, 3, 1);
primaryStage.setScene(new Scene(gridPane));
primaryStage.show();
}
public static void main(String[] args)
{
launch(args);
}
}