代码之家  ›  专栏  ›  技术社区  ›  Jo Joy

javafxscenebuilder1.1中的jar/fxml管理器选项在哪里?

  •  1
  • Jo Joy  · 技术社区  · 6 年前

    这就是我要找的。

    enter image description here

    这就是我的javafx场景生成器1.1的样子。我已经考虑了所有的选择,但我想不出来。

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  1
  •   José Pereda    6 年前

    我很想知道你为什么要使用场景生成器1.1,它可以追溯到2013年。我想是因为你必须用jdk 7来维护一些遗留的javafx代码吧?

    我想你也知道场景生成器的当前版本可以找到 here ,它支持JDK 8和JDK 10。

    不管怎样,回到您的问题,坏消息是scene builder 1.1没有管理jar/fxml文件的菜单。你可以在这里找到更多关于这个的信息 issue 以下内容:

    此功能现在在sb 2.0预览版中可用

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

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

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

    我不得不在我的旧文件之间搜索,从那时开始寻找一些有效的用例来测试这个。我们可以用 JFXtras jar版本2.2('org.jfxtras:jfxtras labs:2.2-r5'),可从 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,您将得到一个对话框:

    import dialog

    在这里可以指定jar:

    Add jars

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

    SB1.1

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

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

    这只适用于此文件。并意识到 scenebuilder-classpath-element 标签是 removed 与某人2.0。

    如果您想要更持久的解决方案,可以将jar直接添加到 应用程序 文件夹(可能你会在下面找到 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的任何其他文件。