JavaFX

连接JavaFx SDK

首先准备好JDK和JavaFX-SDK,JavaFX-SDK中有 /bin/ /legal/ /lib/ 三个文件夹。

进入Eclipse,Window -> Preferences -> Java -> Build Path -> User Libraries 。New一个新的Library,名字任取。

然后按以下顺序,先选择刚才创建的Library,点Add External JARs,选中SDK中/lib/文件夹下的所有文件(除了src.zip),最后点Apply and close。

引入项目

现在在Eclipse中打开或者新建好项目,然后右键项目,进入 Build Path -> Add Libraries ,选择 User Library ,然后勾选上刚才创建的那个Library,Finish。

此时在左侧可以看到Library被顺利引入。

VM参数

这时一切正常的话,代码中应该可以顺利import相关包,并且不会报错,但是运行起来依旧会报错。

此时只需找到菜单栏的 Run -> Run Configurations ,在 Java Application 中找到要运行的主类,在 ArgumentsVM arguments 中添加一行:

1
--module-path "/lib/路径" --add-modules javafx.controls,javafx.fxml

如我的

1
--module-path "F:\Java\javafx-sdk-17.0.0.1\lib" --add-modules javafx.controls,javafx.fxml

这时再运行,应该就不会报错了。

SceneBuilder

设置SceneBuilder路径

Window -> Preferences -> JavaFx 中的 SceneBuilder executable 设置为 JavaFX Scene Builder 2.0.exe 的路径即可。

绘制窗体

首先创建一个 FXML 文件:在 New -> Other 中选择 JavaFX -> New FXML Document

然后右键选择在SecneBuilder中打开

随便绘制一点东西,然后进行一个保存,发现FXML文件里会自动生成对应代码

接下来简单地修改一下主类中的代码,运行后就可以看见绘制好的窗体了

事件处理

首先在SceneBuilder给事件的相关组件添加id并保存

在父结点中添加一个控制器,引号中的名字可以任取

然后对准引号里的名字一顿右键,选择 Source -> Generate Controller ,勾选上相关组件,点击OK

然后随便写点代码

回到SceneBuilder,在按钮的Code中就可以添加事件,保存后成功运行。