【笔记】javafx_流式布局_网格布局

28 篇文章 0 订阅

jdk1.8

//流式布局
//网格布局
import javafx.application.Application;
import javafx.geometry.Orientation;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class Test extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        Button b1 = new Button("Button1");
        Button b2 = new Button("Button2");
        Button b3 = new Button("Button3");
        Button b4 = new Button("Button4");
        Button b5 = new Button("Button5");
        Button b6 = new Button("Button6");
        Button b7 = new Button("Button7");
        Button b8 = new Button("Button8");
        
        //流式布局
/*
        FlowPane flow = new FlowPane();
        flow.setStyle("-fx-background-color:#EE6AA7");

        flow.getChildren().addAll(b1,b2,b3,b4,b5,b6,b7,b8);
        flow.setAlignment(Pos.CENTER);//对齐方式
//        flow.setOrientation(Orientation.VERTICAL);//排列方式
        flow.setHgap(10);//水平间隔
        flow.setVgap(10);//垂直间隔
        Scene scene = new Scene(flow);
 */

        //网格布局
        GridPane grid = new GridPane();
        grid.setStyle("-fx-background-color:#EE6AA7");

        grid.add(b1, 0, 0);
        grid.add(b2, 1, 0);
        grid.add(b3, 2, 0);
        grid.add(b4, 3, 0);
        grid.add(b5, 0, 1);
        grid.add(b6, 1, 1);
        grid.add(b7, 2, 1);
        grid.add(b8, 3, 1);

        grid.setAlignment(Pos.CENTER);//对齐方式
//        grid.setOrientation(Orientation.VERTICAL);//排列方式
        grid.setHgap(10);//水平间隔
        grid.setVgap(10);//垂直间隔

		//单独设置间距
//		grid.getColumnConstraints().add(new ColumnConstraints(100));
//      grid.getRowConstraints().add(new RowConstraints(100));

		//遍历组件,可以用lambda表达式,可以用toArray
        grid.getChildren().forEach(new Consumer<Node>() {
            @Override
            public void accept(Node node) {
                Button bu = (Button)node;
                System.out.println(bu.getText());
            }
        });
        /*
        grid.getChildren().forEach((item) -> {
            Button bu = (Button)item;
            System.out.println(bu.getText());
        });
         */

        Scene scene = new Scene(grid);

        primaryStage.setScene(scene);
        primaryStage.setTitle("JavaFX");
        primaryStage.setHeight(800);
        primaryStage.setWidth(800);
        primaryStage.show();
    }
}

在这里插入图片描述

参考:
JavaF视频教程第18课 GridPane布局类 https://www.bilibili.com/video/BV1wW411276n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值