JavaFx基础学习【一】:基本认识

目录

一、介绍

二、JavaFx应用基本结构

三、快速创建JavaFx项目体验

四、创建Maven项目体验

五、其他章节


一、介绍

JavaFX 是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式系统。 它是许多个人和公司的共同努力的成果,目的是为开发丰富的客户端应用提供一个现代、高效、功能齐全的工具包。

二、JavaFx应用基本结构

想要开发一款JavaFx应用,首先需要大致了解一下一款JavaFx应用程序的基本组成,只有大致上了解清楚之后,在开发JavaFx应用时就会减轻我们很多压力,从而在开发JavaFx应用程序上得心应手。

以下是JavaFx应用程序的大致组成:

关于应用-Application、窗口-Stage、场景-Scene、节点-Node的学习,将会在后续其他文章展出,如果有感兴趣进一步了解的小伙伴可以前往学习(链接将会附在后面)

三、快速创建JavaFx项目体验

目前高本版的idea创建JavaFx项目要求使用JDK11,如果是版本低的idea,可以使用JDK8进行开发,如果没有安装JDK11,则可以使用idea默认提供的JDK11进行开发。

1、使用idea提供的快速创建JavaFx功能创建JavaFx项目

2、项目结构

关于JavaFx的学习,将会在其他章节介绍,感兴趣的小伙伴可以前往学习(链接将会附在后面)

3、效果

四、创建Maven项目体验

1、创建一个Maven项目

2、编写App类,注意,此处需要引用的是JavaFx包下的组件

java 复制代码
public class App extends Application{

    @Override
    public void start(Stage primaryStage) throws Exception {

        // 节点node
        Button button = new Button("test");
        BorderPane borderPane = new BorderPane(button);

        // 场景scene
        Scene scene = new Scene(borderPane, 300, 300);

        // 窗口Stage
        primaryStage.setScene(scene);
        primaryStage.setTitle("我的应用");
        primaryStage.show();
    }

    public static void main(String[] args )
    {
        launch(args);
    }
}

3、在pom.xml中添加如下,也可以使用其他插件进行编译:

XML 复制代码
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.8</version>
                <executions>
                    <execution>
                        <!-- Default configuration for running with: mvn clean javafx:run -->
                        <id>default-cli</id>
                        <configuration>
                            <mainClass>com.example.demo/com.example.demo.App</mainClass>
                            <launcher>app</launcher>
                            <jlinkZipName>app</jlinkZipName>
                            <jlinkImageName>app</jlinkImageName>
                            <noManPages>true</noManPages>
                            <stripDebug>true</stripDebug>
                            <noHeaderFiles>true</noHeaderFiles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

4、效果

类上

五、其他章节

JavaFx基础学习【二】:Stage_明天再去学习的博客-CSDN博客

JavaFx基础学习【三】:Scene_明天再去学习的博客-CSDN博客

JavaFx基础学习【四】:UI控件的通用属性_明天再去学习的博客-CSDN博客

JavaFx基础学习【五】:FXML布局文件使用_明天再去学习的博客-CSDN博客

相关推荐
leikooo8 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
Ivanqhz9 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
沙漠之主9 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
FPGA小徐9 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络
青柠之夏cc10 小时前
AI与教育:个性化学习助手让“因材施教“成为现实,但代价是隐私?
人工智能·学习
YOLO数据集集合10 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化
知行EDI10 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
笑鸿的学习笔记10 小时前
C++笔记之大块顺序写
java·c++·笔记
for_ever_love__10 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI10 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战