- 主题: JavaFX Scene Builder 2.0中导入外部jar包
- 作者: Rocky_Yu
- 时间: 20200315
- 分类: 9.1-002
- Version: 1.0.0
JavaFX Scene Builder 2.0中导入外部jar包
问题: 在用JavaFX Scene Builder进行JavaFX界面设计时,出现了打开.fxml
文件后,部分控件无法正常显示,也就是在.fxml
文件中使用的控件在JavaFX Scene Builder中没有显示出来,我遇到是ButtonBar
这个控件在JavaFX Scene Builder中打开后无法正常显示。
问题原因: 该问题是因为JavaFX Scene Builder中默认存在的控件类型不全
解决方案: 通过导入第三方jar包来解决问题,这里导入的java8中的关于JavaFX相关的jar包(jfxrt.jar
)。
解决步骤:
-
将安装JRE目录下的
jfxrt.jar
包拷贝到JavaFX Scene Builder安装目录下的app
文件夹下面jfxrt.jar 的在JRE中的文件夹路径为:
\jre1.8.0_211\lib\ext\
拷贝到JavaFX Scene Builder后的文件夹路径为:
JavaFX Scene Builder 2.0\app\
如下图:
-
修改JavaFX Scene Builder安装目录下的
app
文件夹下面的配置文件package.cfg
,将
app.classpath=
这行后面的jar包(默认是SceneBuilderKit.jar
)名称改为第三方jar包(jfxrt.jar
)的名称,下面是修改后的配置文件:app.mainjar=SceneBuilderApp.jar app.version=2.0 app.id=com.oracle.javafx.scenebuilder app.preferences.id=com/oracle/javafx/scenebuilder app.mainclass=com/oracle/javafx/scenebuilder/app/SceneBuilderApp jvmarg.1=-Djava.security.manager #app.classpath=SceneBuilderKit.jar app.classpath=jfxrt.jar jvmarg.2=-Djava.security.policy=$APPDIR/app/scenebuilder.policy jvmarg.3=-Dfile.encoding=UTF-8 jvmuserarg.1.name=-Djavafx.autoproxy.disable= jvmuserarg.1.value=true jvmuserarg.2.name=-Xmx jvmuserarg.2.value=999m jvmuserarg.3.name=-Djava.util.logging.config.file= jvmuserarg.3.value=$APPDIR/app/logging.properties
如下图:
- 重新启动JavaFX Scene Builder,就有了当前JDK版本中JavaFX所拥有的所有控件了
欢迎各位批评指正!