我正在试图弄清楚如何在SceneBuilder 2.0中基于AnchorPane打开自定义组件的子类 - 我试图将问题减少到最基本的场景,甚至在查看Oracle文档后我也是无法使这个工作。我意识到还有其他问题,如this已经在SO上,但是这些问题意味着使用了JAR,我没有JAR。
这只是简单的简单事情,我做错了什么?
TutoPane.java:
package tuto;
public class TutoPane extends javafx.scene.layout.AnchorPane {
}
Atut.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?scenebuilder-classpath-element ../../build/classes?>
<tuto.TutoPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" fx:controller="tuto.AtutController">
</tuto.TutoPane>
当我在SceneBuilder中打开fxml文件时,我没有得到ClassNotFound异常,我确实在主窗口中看到消息“此文档的内容无法显示”,当我在预览模式下显示消息“Not not节点“。由于tuto.TutoPane是javafx.scene.layout.AnchorPane的子类,因此“Not a Node”消息特别让我感到难过,因为SceneBuilder并没有抱怨无法找到该类,所以它必须知道它是一个节点
如果我编辑FXML并用“AnchorPane”替换tuto.TutoPane,它确实有效。