fxml设置背景_JavaFX学习笔记(最全,最详细)

文章目录

Java: JavaFX桌面GUI开发

1、基本概念

2、最小框架代码

3、控件布局

4,初步认识stage窗口

5,stage窗口模式(StageStyle)

6,screen类的使用

7,Group容器的使用

8,Button按钮以及简单介绍设置背景颜色和外边框等问题

9,JavaFX布局(pane)

(1). Pane

(2). BorderPane

(3). HBox

(4). VBox

(5) FlowPane面板

(6), GridPane面板

用户界面设计例子

Java: JavaFX桌面GUI开发

1、基本概念

窗口 Stage

场景 Scene

布局 stackPane

控件 Button

2、最小框架代码

创建命令行应用

package com.company;

import javafx.application.Application;

import javafx.stage.Stage;

public class HelloWorld extends Application {

@Override

public void start(Stage primaryStage) throws Exception {

primaryStage.show(); //显示窗口

}

public static void main(String[] args) {

launch(args); //启动这个程序 APPlication的方法

}

}

对就是啥都没有,空白的窗体

3、控件布局

package com.company;

import javafx.application.Application;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.layout.StackPane;

import javafx.stage.Stage;

public class Main extends Application {

public static void main(String[] args) {

launch(args);

}

@Override

public void start(Stage primaryStage) throws Exception {

// 实例化按钮

Button button = new Button("这是按钮上的文字");

// 创建布局控件 //其他各种布局StackPane,FlowPane,HBox,VBox,GridPane,BorderPane

StackPane stackPane = new StackPane();

// 将button添加到布局

stackPane.getChildren().add(button);

// 创建场景 宽=400 高=400

Scene scene = new Scene(stackPane, 400, 400);

// 将场景添加到窗口

primaryStage.setScene(scene);

// 显示窗口

primaryStage.show();

}

}

4,初步认识stage窗口

primaryStage.setTitle("JavaFX"); //添加标题

primaryStage.getIcons().add(new Image("ico/tim.png")); //设置图标

primaryStage.setIconified(true); //设置最小化

primaryStage.setMaximized(true); //设置最大化

primaryStage.close(); //关闭窗口

rimaryStage.setResizable(false); //设置窗口大小是否可调整

primaryStage.setWidth(500); primaryStage.setHeight(500); //设置窗口宽度和高度

primaryStage.setWidth(500); primaryStage.setHeight(500); //设置窗口最大宽高

primaryStage.getWidth();
primaryStage.getHeight() //获取窗口宽高

primaryStage.show(); //显示窗口

primaryStage.setOpacity(0.5); //设置窗口不透明度

primaryStage.setAlwaysOnTop(true); //设置在窗口永远在最上层

rimaryStage.setX(100);
primaryStage.setY(100); //设置窗口的位置(左上角像素坐标)

Platform.exit(); //终止JavaFX应用程序

primaryStage.setFullScreen(true);

primaryStage.setScene(new Scene(new Group())); //设置全屏,必需设置Scene

//设置高度变化监听

primaryStage.heightProperty().addListener(new ChangeListener() {

@Override

public void changed(ObservableValue extends Number> observable, Number oldValue, Number newValue) {

System.out.println("当前高度 ==>" + newValue.intValue());

}

});

//设置宽度变化监听

primaryStage.widthProperty().addListener(new ChangeListener() {

@Override

public void changed(ObservableValue extends Number> observable, Number oldValue, Number newValue) {

System.out.println("当前宽度 ==>" +newValue.intValue() );

}

});

//设置窗口位置X轴坐标监听

primaryStage.xProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue extends Number> observable, Number oldValue, Number newValue) {
System.out.println("窗口X轴坐标= " + newValue.intValue());
}
});

//设置窗口位置Y轴坐标监听

primaryStage.yProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue extends Number> observable, Number oldValue, Number newValue) {
System.out.println("窗口Y轴坐标= " + newValue.intValue());
}
});

实例代码

public class Main extends Application {

@Override

public void start(Stage primaryStage) throws Exception{

// 添加标题

primaryStage.setTitle("JavaFX");

// 设置图标

primaryStage.getIcons().add(new Image("ico/tim.png"));

// 设置最小化

//primaryStage.setIconified(true);

//设置最大化

// primaryStage.setMaximized(true);

// 关闭窗口

// primaryStage.close();

//设置窗口宽度和高度

primaryStage.setWidth(500);

primaryStage.setHeight(500);

// 设置窗口大小是否可调整

// primaryStage.setResizable(false);

// 设置窗口最大宽高

primaryStage.setMaxWidth(1000);

primaryStage.setMaxHeight(1000);

// 获取窗口宽高

System.out.println("宽度= " + primaryStage.getWidth());

System.out.println("高度= " + primaryStage.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值