笔记记录

编写人:老王
时间:2023-04-5
地点:广州


  1. package javafx.test;
  2. import javafx.application.Application;
  3. import javafx.scene.Group;
  4. import javafx.scene.Scene;
  5. import javafx.scene.control.Button;
  6. import javafx.stage.Stage;
  7. public class Main6 extends Application {
  8. public static void main(String[] args) {
  9. launch(args);
  10. }
  11. @Override
  12. public void start(Stage primaryStage) {
  13. Button button1 = new Button("按钮1");
  14. Button button2 = new Button("按钮2");
  15. Button button3 = new Button("按钮3");
  16. Stage stage = new Stage();
  17. Group group = new Group();
  18. group.getChildren().add(button1);
  19. group.getChildren().add(button3);
  20. group.getChildren().add(button2);
  21. Scene scene = new Scene(group);
  22. stage.setScene(scene);
  23. stage.show();
  24. }
  25. }

如果用原始的group类去进行布局,就像下面这样,整个界面都是一坨,非常丑。
图片.png

因此需要手动设置按钮的宽和高才行。
图片.png

  1. package javafx.test;
  2. import javafx.application.Application;
  3. import javafx.scene.Group;
  4. import javafx.scene.Scene;
  5. import javafx.scene.control.Button;
  6. import javafx.stage.Stage;
  7. public class Main6 extends Application {
  8. public static void main(String[] args) {
  9. launch(args);
  10. }
  11. @Override
  12. public void start(Stage primaryStage) {
  13. Button button1 = new Button("按钮1");
  14. Button button2 = new Button("按钮2");
  15. Button button3 = new Button("按钮3");
  16. button1.setLayoutX(0);
  17. button1.setLayoutY(100);
  18. button2.setLayoutX(100);
  19. button2.setLayoutY(100);
  20. button3.setLayoutX(200);
  21. button3.setLayoutY(100);
  22. Stage stage = new Stage();
  23. Group group = new Group();
  24. group.getChildren().addAll(button1,button2,button3);
  25. Scene scene = new Scene(group);
  26. stage.setScene(scene);
  27. stage.show();
  28. }
  29. }

删除组件就要用到下面整个remove才行了:
图片.png

  1. group.getChildren().addAll(button1,button2,button3);
  2. group.getChildren().remove(0);
  1. //默认为true,如果成false,那就只能自己设置组件的宽和高
  2. group.setAutoSizeChildren(true);