javafx 场景生成器 1.1 中的 JAR/FXML 管理器选项位于何处?
where is located JAR/FXML Manager option in javafx scene builder 1.1?
这就是我要查找的内容。
这就是我的 javafx scene builder 1.1 的样子。我已经研究了所有选项,但我无法弄清楚。
我很想知道您为什么要使用 2013 年推出的 Scene Builder 1.1。我猜是因为您必须使用 JDK 7?
维护一些旧版 JavaFX 代码
我猜你也知道可以找到 Scene Builder 的当前版本 here,它支持 JDK 8 和 JDK 10。
无论如何,回到您的问题,坏消息是 Scene Builder 1.1 没有用于管理 jar/fxml 文件的菜单。您可以在 issue:
中找到更多相关信息
This functionality is now available in SB 2.0 Preview
好消息是它对第三方组件有某种基本支持。您可以通过两种方式启用第三方组件:
如果您的 fxml 文件包含一些在类路径中不可用的导入,SB 将显示一个对话框,允许您将所需的 jar 添加到类路径中。
可以通过将 jar 直接添加到 app
文件夹并编辑 cfg 文件以包含它来完成更永久的解决方案(对于每个 fxml,没有此对话框)。
我不得不在我当时的旧文件之间进行搜索,以找到一些有效的用例来测试它。我们可以使用 JFXtras jar from version 2.2 ('org.jfxtras:jfxtras-labs:2.2-r5') that can be downloaded from here.
您可以使用其控件之一创建 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(s):
您必须单击 Apply
然后您才能打开您的 fxml:
现在,如果您检查 fxml 文件,您会注意到将包含类路径:
<?import jfxtras.labs.scene.control.*?>
<?scenebuilder-classpath-element C:/tmp/jfxtras-labs-2.2-r5.jar?>
这仅适用于此文件。请注意 scenebuilder-classpath-element
标签在 SB 2.0 中是 removed。
如果您想要更永久的解决方案,可以将 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 的文件。
这就是我要查找的内容。
这就是我的 javafx scene builder 1.1 的样子。我已经研究了所有选项,但我无法弄清楚。
我很想知道您为什么要使用 2013 年推出的 Scene Builder 1.1。我猜是因为您必须使用 JDK 7?
维护一些旧版 JavaFX 代码我猜你也知道可以找到 Scene Builder 的当前版本 here,它支持 JDK 8 和 JDK 10。
无论如何,回到您的问题,坏消息是 Scene Builder 1.1 没有用于管理 jar/fxml 文件的菜单。您可以在 issue:
中找到更多相关信息This functionality is now available in SB 2.0 Preview
好消息是它对第三方组件有某种基本支持。您可以通过两种方式启用第三方组件:
如果您的 fxml 文件包含一些在类路径中不可用的导入,SB 将显示一个对话框,允许您将所需的 jar 添加到类路径中。
可以通过将 jar 直接添加到
app
文件夹并编辑 cfg 文件以包含它来完成更永久的解决方案(对于每个 fxml,没有此对话框)。
我不得不在我当时的旧文件之间进行搜索,以找到一些有效的用例来测试它。我们可以使用 JFXtras jar from version 2.2 ('org.jfxtras:jfxtras-labs:2.2-r5') that can be downloaded from here.
您可以使用其控件之一创建 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(s):
您必须单击 Apply
然后您才能打开您的 fxml:
现在,如果您检查 fxml 文件,您会注意到将包含类路径:
<?import jfxtras.labs.scene.control.*?>
<?scenebuilder-classpath-element C:/tmp/jfxtras-labs-2.2-r5.jar?>
这仅适用于此文件。请注意 scenebuilder-classpath-element
标签在 SB 2.0 中是 removed。
如果您想要更永久的解决方案,可以将 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 的文件。