javafx scene builder 1.1 中的 JAR/FXML Manager 选项位于何处?

2024-02-12

这就是我正在努力寻找的。

这就是我的 javafx scene builder 1.1 的样子。我已经研究了所有选项,但我无法弄清楚。


我很想知道为什么您想要使用 2013 年推出的 Scene Builder 1.1。我猜是因为您必须使用 JDK 7 维护一些遗留的 JavaFX 代码?

我猜您也知道可以找到场景生成器的当前版本here https://gluonhq.com/products/scene-builder/#download,并且支持 JDK 8 和 JDK 10。

不管怎样,回到你的问题,坏消息是 Scene Builder 1.1 没有用于管理 jar/fxml 文件的菜单。您可以在此处找到更多相关信息issue https://bugs.openjdk.java.net/browse/JDK-8102877:

此功能现已在 SB 2.0 预览版中提供

好消息是它对第三方组件有某种基本支持。您可以通过两种方式启用第三方组件:

  • 如果您的 fxml 文件包含类路径中不可用的某些导入,SB 将显示一个对话框,允许您将所需的 jar 添加到类路径中。

  • 可以通过将 jar 直接添加到app文件夹,然后编辑 cfg 文件以包含它。

我必须在当时的旧文件之间进行搜索,以找到一些有效的用例来测试这一点。我们可以使用一个JFXtras http://jfxtras.org版本 2.2 的 jar ('org.jfxtras:jfxtras-labs:2.2-r5') 可以从以下位置下载here https://mvnrepository.com/artifact/org.jfxtras/jfxtras-labs/2.2-r5.

您可以使用其控件之一创建 fxml:

<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import jfxtras.labs.scene.control.*?>

<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
  <children>
    <BigDecimalField layoutX="160.0" layoutY="132.0" />
  </children>
</AnchorPane>

现在,如果您尝试使用 SB 1.1 打开此 fxml,您将看到以下对话框:

您可以在此处指定您的 jar:

你必须点击Apply然后你就可以打开你的fxml:

现在,如果您检查 fxml 文件,您会注意到将包含类路径:

<?import jfxtras.labs.scene.control.*?>
<?scenebuilder-classpath-element C:/tmp/jfxtras-labs-2.2-r5.jar?>

这仅适用于该文件。请注意,scenebuilder-classpath-element标签是removed https://bugs.openjdk.java.net/browse/JDK-8094986与 SB 2.0。

如果您想要更永久的解决方案,可以将 jar 直接添加到app文件夹(可能你会在下面找到它C:\Program Files (x86)\Oracle\JavaFX Scene Builder 1.1\app).

你必须编辑package.cfg文件添加以下内容:

app.classpath=scenebuilder.jar;jfxtras-labs-2.2-r5.jar

保存并启动 SB 1.1。现在您将能够直接打开 fxml 文件或任何其他需要第三方 jar 的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javafx scene builder 1.1 中的 JAR/FXML Manager 选项位于何处? 的相关文章

随机推荐