VScode Javafx Maven
配置环境
vscode 版本:1.48.1
jdk:1.8
vscode 插件
Java Extension Pack,安装完成之后做如下配置:
- 默认Windows 的java环境变量已经配置好
- 快捷键 Ctrl+Shift+P,输入Java Configuration Runtime
- 点击User Setting,然后点击在setting.json中编辑,在json文件中加入如下配置,java.home 后面的路径为jdk路径
........
"java.home": "D:/Java/jdk1.8.0_261",
.......
不使用 maven
- 安装插件完成之后 按下快捷键Ctrl+shift+p新建java项目
- 如果是刚打开的话,左下角会显示正在激活拓展,等待一会儿后,会出现如下界面,我们不使用框架,因此直接选择No build tools
- 接着会弹出如下界面,我们选择或者新建一个文件夹,来作为项目的载体
- 接着输入项目的名字,按enter确认
- 接着出现如下界面,其中的红框所指的 Run|Debug 要可能不会立即出现,我们需要等一会
- 点击 Run 或者快捷键 Ctrl+F5 ,下面的终端上显示出运行结果。
- 接下来我们来写一个javafx项目
import javafx.application.Application;
import javafx.stage.Stage;
public class App extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setHeight(400);
primaryStage.setWidth(400);
primaryStage.setTitle("hellojfx");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
- 点击Run得到如下结果
使用maven
- 快捷键 Ctrl+Shift +P打开setting.json 文件
- 添加如下配置项,后面的Maven路径根据自己的maven路径修改,setting.xml自己修改
.......
"maven.executable.path": "D:/ab_code/apache-maven-3.6.3/bin/mvn.cmd",
"java.configuration.maven.userSettings": "D:/ab_code/apache-maven-3.6.3/conf/settings.xml",
.......
- 快捷键 Ctrl+Shift+P ,输入Maven,选择从Maven 原型创建项目
- 等待一会之后,然后选择模板,在这里选择quickstart模板原型,然后选择版本1.4
- 接着选择项目存放目录,选择之后需要等待一会儿,然后在终端中跳出如下界面,在终端中输入groupId等设置,直接enter,则是插件给出的默认配置
- 需要注意的是,这是时候vscode 并不会跳出这个maven项目的vscode界面,我们需要手动在文件管理器中找到并右键使用vscode打开该项目,打开后右下角会出现一个提示框问监测到java项目是否要导入,这里我们点击yes,等一会之后左边的项目树就会出现一个target文件夹,里面包含classes与test-classes文件夹。
- 这时候我们编写jfx demo 的时候会发现根本没有代码提示
- 因此下一步我们需要导入的是jfx的maven依赖
Ctrl+Shift+P 输入maven 然后选择添加依赖,搜索
org.openjfx
然后选择 javafx-controls 导入即可
- 接着打开 pom.xml ,Ctrl+S保存一下,过一会右下角就会出现,点击 Now。
- 接着回到 jfx的demo 里面就可以看到javafx的提示啦!
11.jfx demo
package test1;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
/**
* Hello world!
*
*/
public class App extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage arg0) throws Exception {
Button btn = new Button("btn1");
btn.setPrefSize(200, 200);
Group gp = new Group();
gp.getChildren().add(btn);
Scene scene = new Scene(gp);
arg0.setScene(scene);
arg0.setWidth(500);
arg0.setHeight(500);
arg0.show();
}
}