javafx布局类Pane

继承关系:

java.lang.Object

  • javafx.scene.Node
    • javafx.scene.Parent
      • javafx.scene.layout.Region
        • javafx.scene.layout.Pane

子类:

AnchorPane, BorderPane, FlowPane, GridPane, HBox, StackPane, TilePane, VBox

Pane是java最基本的布局类,它可以直接使用
public class TestPane extends Application{

	public static void main(String[] args) {
		launch();
	}
	public void start(Stage primaryStage) throws Exception {	
		Pane pane=new Pane();
		Scene scene=new Scene(pane);
	
		primaryStage.setWidth(500);
		primaryStage.setHeight(500);
		primaryStage.setScene(scene);
		primaryStage.setTitle("TestPane");
		primaryStage.show();
	}

}

在这里插入图片描述

添加子节点(Node)

pane的子节点都放在一个可观察列表中(ObservableList <Node>),通过getChildren()方法获取该列表,向列表中添加节点即可。

	Button button=new Button ("button");
	pane.getChildren().add(button);

在这里插入图片描述

布局上会将所有节点放在(0,0)位置,后面的会覆盖前面的
	Button button=new Button ("button");
	pane.getChildren().add(button,new Button ("button2"));

在这里插入图片描述

如果将button放大,则可以看到它:

	Button button=new Button ("button");
	button.setFont(Font.font("sans-serif",40));
	pane.getChildren().add(button,new Button ("button2"));

在这里插入图片描述

节点可设置布局位置:

	Button button=new Button ("button");
	button.setFont(Font.font("sans-serif",40));
	button.setLayoutX(100);
	button.setLayoutY(100);
	pane.getChildren().add(button,new Button ("button2"));

在这里插入图片描述

Pane的大小可以设置初始值,前提是其父节点未有明确指定大小

		pane.setPrefHeight(200);
		pane.setPrefWidth(200);
		//	primaryStage.setWidth(300);
    	//	primaryStage.setHeight(300);

在这里插入图片描述

如果父节点有明确指定大小,pane将适应父节点;

		pane.setPrefHeight(200);
		pane.setPrefWidth(200);
		primaryStage.setWidth(300);
    	primaryStage.setHeight(300);

在这里插入图片描述
Pane的属性监听器

	pane.widthProperty().addListener(listener);

Pane的样式可以通过setStyle方法设置
在这里插入图片描述

	pane.setStyle("-fx-background:red;");

也可以用css修改,以下是官网链接:
https://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#scatterchart

当然Pane也可以设置透明度,透明度也将作用于子节点

	pane.setOpacity(0.5);

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值