
 
🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿
- 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳🌳
您的点赞👍、关注➕、收藏⭐️、评论📝、私信📧是我最大的支持与鼓舞!!!🌻🌻🌻

 
JavaFX基础
- JavaFX概述
- Java GUI编程简史
- 配置JavaFX开发环境
 
- JavaFX程序基本结构
- 舞台、场景和节点
- Application类生命周期方法
- JavaFX程序启动
- 实战演练
 
 
- JavaFX属性与绑定
- JavaFX属性
- 属性绑定
- 实战演练
 
 
- JavaFX界面布局
- JavaFX坐标系
 
JavaFX概述
Java GUI编程简史
- Java支持图形用户界面(Graphical User Interface, GUI) 开发。
 ① Java从1.0开始就提供一个AWT类库,称为抽象窗口工具
 箱(Abstract Window Toolkit,AWT)。
 ② Java从1.2出现了Swing,Oracle宣布不再继续开发Swing。
 ③ 从Java 8开始,JavaFX已经与JDK绑定到一起,但Java11
 之后,JavaFX与JDK分开发布
配置JavaFX开发环境
- JavaFX框架API定义了30多个包,这些包以javafx开头,如
 javafx.application包、javafx.stage包、javafx.scene包、
 javafx.scene.layout包等。JavaFX应用程序的功能通过这些包中
 的接口和类实现。
- 在JDK中这些库文件被打包在名为jfxrt.jar文件中,存放在JDK安
 装目录的\jre\lib\ext目录中。为编译和运行JavaFX程序,需要将
 该文件添加到类路径中。
JavaFX程序基本结构
舞台、场景和节点
- 继承Application类
- 每个JavaFX程序都必须继承javafx.application.Application类。
 Application类定义了应用程序生命周期方法
 初始化(init)
 开始(start)
 停止(stop)
 启动(launch)
  
  
Application类生命周期方法
- Application类生命周期方法
 Application类定义了三个生命周期方法,包括init()、start()和stop()方法,在JavaFX程序中可以覆盖这些方法。
public void init( ) 初始化方法
public abstract void start(Stage stage) 启动方法
public void stop( ) 停止方法
JavaFX程序启动
- 可以从main()方法中调用Application类的静态方法launch(),该
 方法启动一个独立的JavaFX程序。
- launch()方法启动后调用init()方法和start()方法,当应用程序终
 止时,launch()方法才返回。
实战演练
【练习 】 实现HelloWorld.java JavaFX程序
import javafx.application.Application;  
import javafx.scene.Scene;  
import javafx.scene.control.Label;  
import javafx.scene.layout.StackPane;  
import javafx.stage.Stage;  
  
public class HelloWorld extends Application {  
  
    @Override  
    public void start(Stage primaryStage) {  
        // 创建一个标签,内容是"Hello, World!"  
        Label label = new Label("Hello, World!");  
  
        // 使用StackPane作为根节点,将标签添加到其中  
        StackPane root = new StackPane();  
        root.getChildren().add(label);  
  
        // 创建一个场景,将根节点和尺寸传递给场景  
        Scene scene = new Scene(root, 300, 250);  
  
        // 配置并显示舞台  
        primaryStage.setTitle("Hello World!"); // 设置舞台标题  
        primaryStage.setScene(scene); // 将场景添加到舞台  
        primaryStage.show(); // 显示舞台  
    }  
  
    public static void main(String[] args) {  
        launch(args); // 启动JavaFX应用程序  
    }  
}
JavaFX属性与绑定
JavaFX属性
- 在JavaFX中,节点类通常包含一些属性,这些属性与普通Java类
 的属性不同。
- 首先,属性的类型应为Property接口的子类型,如StringPropert
 为字符串类型属性,IntegerProperty为整型类型属性。
- 其次,一个属性除setter和getter方法外,还应有第三个方法,它
 返回一个实现Property接口的对象。
- JavaFX属性的主要功能是属性绑定和事件处理。
 通过属性的addListener()方法可以为其注册监听器。
 通过属性的bind()方法可以实现属性绑定。当被绑定的对象属性发生改变时,将自动反映到绑定的对象上。
  
属性绑定
- 属性绑定是JavaFX引入的一个新概念。可以将一个目标对象和一
 个源对象绑定。
- 如果源对象的属性值改变了,目标对象的属性值随之自动改变。
 一个目标target使用bind()方法和源source进行绑定,如下所示。
 target.bind(source);
  
- 为实现窗体大小改变保证圆仍然显示在中央,可以将圆心坐标属性centerX和centerY属性分别绑定到面板的width/2以及height/2上。
 使用下面代码实现属性绑定。
circle.centerXProperty().bind(
rootNode.widthProperty().divide(2));
circle.centerYProperty().bind(
rootNode.heightProperty().divide(2));
实战演练
【练习 】 实现ShowCircle.java JavaFX程序
import javafx.application.Application;  
import javafx.scene.Scene;  
import javafx.scene.layout.StackPane;  
import javafx.scene.shape.Circle;  
import javafx.stage.Stage;  
  
public class ShowCircle extends Application {  
  
    @Override  
    public void start(Stage primaryStage) {  
        // 创建一个圆形,设置其半径和填充颜色  
        Circle circle = new Circle(100, 100, 50); // 圆心在(100, 100),半径为50  
        circle.setFill(javafx.scene.paint.Color.BLUE); // 设置填充颜色为蓝色  
  
        // 使用StackPane作为根节点,将圆形添加到其中  
        StackPane root = new StackPane();  
        root.getChildren().add(circle);  
  
        // 创建一个场景,将根节点和尺寸传递给场景  
        Scene scene = new Scene(root, 300, 250);  
  
        // 配置并显示舞台  
        primaryStage.setTitle("Show Circle"); // 设置舞台标题  
        primaryStage.setScene(scene); // 将场景添加到舞台  
        primaryStage.show(); // 显示舞台  
    }  
  
    public static void main(String[] args) {  
        launch(args); // 启动JavaFX应用程序  
    }  
}
JavaFX界面布局
JavaFX坐标系
- 屏幕和面板等组件坐标与数学的笛卡尔坐标不同,它的原点在屏幕或面板的左上角,横向为x轴,纵向为y轴。坐标单位是像素。
  
 博主用心写,读者点关注,互动传真其,知识不迷路。



















