1

当我保存我的 fxml 文件时,最新的 javafx scenebuilder 1.1 会插入命名空间

  xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" 

当我在 Netbeans 7.3.1 编辑器中打开该文件时,我收到诸如“控制器未在根组件上定义”之类的错误。我删除“1”来修复它。

在 NetBeans IDE 检索器窗格中:

2013 年 8 月 29 日上午 10:37:32:检索位置: http: //javafx.com/javafx/2.2

错误:未知主机:javafx.com URL 资源

有一个控制器。问题是它为什么要创建

xmlns:fx="http://javafx.com/fxml/1"

代替

xmlns:fx="http://javafx.com/fxml"?

4

2 回答 2

2

SB 开发人员知道这个错误。此时我通过下载 Netbeans Developer 版本来解决它。我也安装了jdk-8。结果:任何错误。但几乎没有经过测试的 id。

于 2013-10-08T09:52:02.860 回答
1

1.)使用 SceneBuilder 创建应用程序时,您很可能还没有一个controller类来处理应用程序中的事件和其他所有内容。保存*.fxml文件将为您提供如下内容:

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

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity"
minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0"
xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
    <children>
    ...more here...
    </children>
</AnchorPane>

您需要创建应用程序控制器并将其添加到主节点<AnchorPane ...>,如下所示(使用完整的包路径):

<AnchorPane id="AnchorPane" ... fx:controller="application.ListAndTableViewController">

2.)如果你已经controller有了,你可以在 SceneBuilder 中指定它,如附图所示。

场景生成器

通过遵循这两种方法之一,Netbeans 在打开由 SceneBuilder 创建的文件时不会给您错误。

于 2013-09-01T15:04:15.207 回答