How to use gridpane JavaFX to make buttons span multiple columns / rows?
•
Java
I am new to JavaFX and am trying to use gridpane for simple button design
I can't figure out how to make buttons span multiple columns / rows without pushing other buttons away I've been using it H@R_613_2419 @And V@R_613_2419 @Group other buttons together I tried setrowspan on the button, but it didn't seem to work
How it is looking
How i want it to look
This is my code:
import javafx.stage.*;
import javafx.application.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class SimpleGUI extends Application {
public void start(Stage primaryStage) throws Exception {
GridPane root = new GridPane();
Scene scene = new Scene(root,200,200);
//Buttons
Button b1 = new Button("KNAPP 1");
Button b2 = new Button("KNAPP 2");
Button b3 = new Button("KNAPP 3");
Button b4 = new Button("KNAPP 4");
Button b5 = new Button("KNAPP 5");
Button b6 = new Button("KNAPP 6");
//Horizontal @R_613_2419@
H@R_613_2419@ topButtons = new H@R_613_2419@();
topButtons.getChildren().add(b1);
topButtons.getChildren().add(b2);
topButtons.getChildren().add(b3);
//Vertical @R_613_2419@
V@R_613_2419@ leftButtons = new V@R_613_2419@();
leftButtons.getChildren().add(b4);
leftButtons.getChildren().add(b5);
//Placement
GridPane.setConstraints(topButtons,0);
GridPane.setConstraints(leftButtons,1);
GridPane.setConstraints(b6,1,1);
//Length (3 Columns,2 Rows)
GridPane.setColumnSpan(topButtons,3);
GridPane.setRowSpan(leftButtons,2);
//Add them to the stage
root.getChildren().add(topButtons);
root.getChildren().add(leftButtons);
root.getChildren().add(b6);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args){
launch(args);
}
}
Solution
Because you are using a grid pane, you do not need to H@R_613_2419 @And V@R_613_2419 @:
import javafx.stage.*;
import javafx.application.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class SimpleGUI extends Application {
public void start(Stage primaryStage) throws Exception {
GridPane root = new GridPane();
Scene scene = new Scene(root);
//Buttons
Button b1 = new Button("KNAPP 1");
Button b2 = new Button("KNAPP 2");
Button b3 = new Button("KNAPP 3");
Button b4 = new Button("KNAPP 4");
Button b5 = new Button("KNAPP 5");
Button b6 = new Button("KNAPP 6");
root.add(b1,0);
root.add(b2,0);
root.add(b3,2,0);
root.add(b4,1);
root.add(b5,2);
// node,columnIndex,rowIndex,columnSpan,rowSpan:
root.add(b6,2);
// allow button to grow:
b6.setMaxSize(Double.MAX_VALUE,Double.MAX_VALUE);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args){
launch(args);
}
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
