intellij中用java12编写javafx应用程序

作者:袁乐天
最后修改日期2019-12-06
转载请注明出处,未经允许的转载本人将追究其法律责任。

intellij中用java12(或13)编写javafx应用程序

——什么?你要用javafx编写界面?吃饱了撑的?用Visual Studio编窗体不香吗?用unity写游戏不香吗?
——什么?这是学校课程要求的?
——好吧,那么我们首先打开intellij……
——什么?你说你要用java12编写javafx?为什么不用java1.8(java1.8即java8)?java1.8内置javafx库,而java12没有内置javafx库。你是想给自己找麻烦?
——哦,原来是这样,你确实想给自己找麻烦
好吧,我们首先去下载javafx的库,
先去访问官网https://openjfx.io/,去下载javafx的sdk,将其安装好
如果你嫌外国网站访问慢的话,我个人百度网盘账号提供了sdk11.0.2的分流,
https://pan.baidu.com/s/1y4X6FyLNtWu9HYGWODYTGQ
提取码:wuar
(本网盘资源供学习交流,如果有任何侵权行为,我会立即下架)
将压缩包解压到某个文件夹(建议解压在C:\Program Files\Java\文件夹中,之后的教程我将全部以这个路径作为示例!),如图在这里插入图片描述
然后我们打开intellij,点击“create new project”,由于你用的是java12去编写javafx,那么其实intellij自带的javafx模板就不存在任何意义了,所以我们在左侧直接选择java就行了,不需要去选择javafx
在这里插入图片描述 在这里插入图片描述
新建项目之后,点击File -> Project Structure,在左侧点击Libraries,点击上方加号,点击加号出来的下拉框中的Java,选中你刚刚解压缩的javafx-sdk-11.0.2\lib的这个文件夹的位置,注意,选中的是lib文件夹的位置,点击OK,再点击OK,就导入好javafx的库了!
在这里插入图片描述 在这里插入图片描述
如图,可以看见External Libraries中有javafx的库了!
在这里插入图片描述
接下来我新建一个Test包,新建了一个Main.java
填写了如下代码

package Test;

import javafx.application.Application;
import javafx.stage.Stage;

public class Main extends Application
{
    public static void main(String[] args)
    {
        launch(args);
    }

    @Override
    public void start(Stage stage)
    {
        stage.show();
    }
}

点击运行!诶?报错了?
错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
因为我们还需要填写VM Option(不知道什么是VM Option的童鞋自己百度去)
点击Run -> Edit Configurations,在VM Option里填写

--module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.fxml

注意:如果你没有按照我这边来选择javafx-sdk的路径,请你在–module-path后面填上自己的路径
在这里插入图片描述
然后点击OK,开始运行!
成功了!成功了!有界面出来了!
在这里插入图片描述
好,我们来尝试播放一段音乐,这段音频位于D:\sound.wav

package Test;

import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

public class Main extends Application
{
    public static void main(String[] args)
    {
        launch(args);
    }

    @Override
    public void start(Stage stage)
    {
        Media media = new Media("file:/D:/sound.wav");
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.play();
    }
}

点击运行!
卧槽,这么一长串报错是什么东西!?
在这里插入图片描述
这就是网上许多配置java12编写javafx给你埋的坑,这个错误跟你的代码没有任何关系,只是因为你的VM Option里没有导入javafx.media的包
网上许多教程指导你在VM Option里填写
–module-path “C:\Program Files\Java\javafx-sdk-11.0.2\lib” --add-modules=javafx.controls,javafx.fxml
瞧瞧,导入javafx.media的模块了吗?根本没有啊!
所以,我们要将VM Option改成

--module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.fxml,javafx.media

这样便能正常播放音频了!
所以,当你用到javafx某个模块的时候,在VM Option里导入即可

注意事项

配置环境就讲好了,另外编写javafx仍然有许多的坑!

1.不要写相对路径

很多人都喜欢把picture.jpg放在包目录下,然后写

Image image = new Image("picture.jpg");

或者是类似于下面这样来获取路径文件

this.getClass().getResource("").getPath();

这样子做是正确的,但是打包成exe或者是jar时,会导致无法运行,因为jvm根本无法获取你的这个文件
我推荐的做法是

String projectPath = System.getProperty("user.dir");//获取out文件夹所在路径或.exe,.jar所在文件夹的路径
Image image = new Image("file:/" + projectPath + "/picture.jpg");
2.路径中不要写反斜杠

很多人都用windows系统,喜欢这么写

String projectPath = System.getProperty("user.dir");//获取out文件夹所在路径或.exe,.jar所在文件夹的路径
Image image = new Image("file:\\" + projectPath + "\\picture.jpg");

当然,编译也能通过,也能正常运行。
但是,将你的代码放到linux系统或者是mac系统上就根本跑不起来了,因为这俩系统上的路径不是用反斜杠表示的,所以,请用正斜杠

intellij中如何用java1.8编写javafx

用jdk1.8的话,javafx sdk不用导入,VM Option也不用填写,非常方便。
我们略去jdk1.8的安装
记住三个地方的配置即可!
第一个地方
File -> Project Structure,在左侧点击Project,将右侧的Project SDK改为1.8(如果下拉栏里没有,点击右边的New按钮添加你的jdk1.8的位置)
并将右侧的Project language level改为“SDK default”或者“8”
第二个地方
File -> Project Structure,在左侧点击Modules,点击右侧Source,将Language level改为“Project default”或者“8”
点击右侧Dependencies,将Module SDK改为“8”
第三个地方
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
在右侧的Project bytecode version中什么都不写(这样便是“Same as language level”)或者改为“8”
在这里插入图片描述

IntelliJ IDEA中编写Spark应用程序需要进行一些基本的配置,以便能够正确地运行和调试你的Spark代码。以下是一个简单的配置指南: 1. 安装Java开发工具包(JDK):确保你的开发环境已经安装Java JDK,并在IntelliJ IDEA中配置了正确的JDK路径。 2. 安装Scala插件:由于Spark是用Scala编写的,你可能需要在IntelliJ IDEA中安装Scala插件来获得更好的语言支持。 3. 创建新的项目或模块: - 打开IntelliJ IDEA,创建一个新的项目或在现有项目中创建一个新模块。 - 在创建过程中,选择Scala或Java作为开发语言。 4. 配置项目SDK: - 在项目设置中,指定SDK路径,这可能是一个JDK或Scala SDK。 5. 添加Spark依赖: - 在项目中,你可以通过Maven或SBT添加Spark的依赖。 - 如果你使用Maven,可以在pom.xml文件中添加相应的Spark依赖项。 - 如果使用SBT,可以在build.sbt文件中添加。 例如,使用Maven添加Spark依赖的pom.xml配置可能如下所示: ```xml <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.1.2</version> </dependency> <!-- 添加其他Spark模块的依赖 --> </dependencies> ``` 6. 配置运行/调试配置: - 在IntelliJ IDEA中配置Spark应用程序的运行或调试配置。 - 设置主类(如果使用SBT,则自动设置),添加程序参数和环境变量。 7. 编写代码并运行/调试: - 开始编写你的Spark应用程序代码。 - 使用之前配置的运行或调试配置来启动你的Spark应用程序。 8. 连接Spark集群: - 如果需要连接到远程Spark集群,确保正确配置了集群的连接信息,如Master URL。 完成以上步骤后,你应该能够在IntelliJ IDEA中顺利编写、运行和调试Spark应用程序。注意,根据你的具体项目需求和环境,可能还需要额外的配置步骤。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值