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博客

相关推荐
allnlei1 小时前
s6-overlay - 装在 Docker 容器里的轻量级管家
java·docker·容器
HwJack205 小时前
HarmonyOS批量数据与性能优化实战:万条数据入库与不卡 UI 的查询
ui·性能优化·harmonyos
彧azz7 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
IT_Octopus7 小时前
IntelliJ 本地日志路径自定义:`-DLOG_PATH=./logs` 为什么总“不听话“
java·log4j·intellij-idea
平头哥AI7 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
一阵寒风7 小时前
CAM智能化助力PCB 智能制造-培训体系第六章.项目开发学习
学习·制造
传奇开心果编程7 小时前
【Xilem 0.4 基础语法学与练】第15课:状态管理与 memoize 性能优化
学习·rust·前端框架
长征coder7 小时前
【无标题】
java·性能优化
具身AGI7 小时前
视频即仿真,物理AI 人类学习路线 的下一步
人工智能·学习
新时代牛马8 小时前
PCI与PCIe 硬件原理、配置空间/BAR 与 Linux 驱动完整篇:从 LTSSM、TLP 到 ECAM 与probe
java·linux·服务器