这几天一直在做JavaFX+MySQL+JDBC的联合小程序,但是从一开始就是各种问题频出,网上的资料还特别少,光是配置这两个项目就搞了很长时间,就想着写一篇来搞清楚这个东西。
首先是文件准备,我们需要mysql的JDBC外部jar包,然后就是javafx的外部依赖jar包,然后还有就是可视化构建java面板的SceneBuilder软件。
javafx: https://gluonhq.com/products/javafx/
SceneBuilder:https://openjfx.cn/scene-builder/
mysqljdbc: https://dev.mysql.com/downloads/connector/j/
上面是几个需要配置的文件的网址,根据自己的jdk,数据库和系统版本去下载所对应的jar包版本,不要盲目下载最新的,可能会因为版本的不兼容出现小问题。
然后配置项目文件,我们从新建项开始

我们选择新项目,虽然我们创建的是javafx项目,但是自我感觉还是不选javafx项目去构建比较轻松,我的idea版本里面没有显示,主要原因是因为自己创建空项目项目文件都是空的,可以自己去分类创建,使用javafx创建的话会自动给出一个模板,但是这些我们都可以自行创建,主要是创建javafx项目只能用maven和Gradle创建,有点麻烦,可能会自动下载所需要的其他依赖项,目前用不到还是不要去下载了,以防对以后使用造成影响。

用idea去构建这个选项,用给出的这两个构建会比较麻烦,而且对这两个系统也不太了解,所以我就直接用空项目去配置了,所以我们还是选择空项目

创建之后选择设置里面的项目结构打开,依次点击

首先是javafx的引入,将lib文件夹下的几个jar包全部选中确定

点击确定之后效果如下

之后我们再次选择,将mysql的依赖项引入

mysql只有一个jar包,点击确定引入,引入完之后效果如下

之后我们建一个主类

创建完之后我们添加一下虚拟机配置
依次点击运行-编辑配置

点击+号,找到下面的项目应用程序这一项

有的版本的idea里面有Application这个选项,选择那个也是一样的
点击修改选项


点击添加VM选项,如果上面选择的是Application项的话这个步骤就省略了,因为在这里是直接有VM选项这一个框的

在VM框里面输入
--module-path "你的javafxlib包路径" --add-modules javafx.controls,javafx.fxml
将双引号中替换为刚才添加的javafx中存放jar包的lib文件夹路径

主类就选择刚才建的那个主类,直接输入类名就行,下面会有提示

一般第一个就是,如果没有的话就根据包路径去选择
到这里外部依赖项的添加就完成了,我们就可以写jdbc代码连接数据库,也可以继承application类编写javafx代码了

我们在构建javafx界面的时候会用到SceneBulder,我们先把下载好的SceneBuilder软件安装,这个就是一个普通的软件,正常下载选择地址就可以,然后我们把这个软件与idea链接一下
设置-语言和框架-javafx

将安装的软件的exe文件目录引入就可以了,之后创建的的fxml文件右键可以直接选择用SceneBuilder打开

我们在里面构建完页面之后按下CTRL+S保存,在idea里面打开的这个fxml文件也会同步更改。