我有一个从 TextField 扩展的类。我将控件手动插入到 fxml 文件中并包含导入语句。现在我看不到 Scene Builder 2.0 版中的控件。相反,我收到一条消息,指出:“选择包含未解析的引用”。我该如何着手并解决这些问题?
编辑:
我认为我没有清楚地说明我的问题所在。在我看来,我应该能够设置指向自定义控件类的类路径。一些网站如this有人告诉我选择一个名为“解决未知类型”的菜单项。由于此菜单项在我的场景生成器版本中不存在,我认为必须存在某种新机制来解决此类问题。这就是为什么我的问题如此含糊的原因。事后看来,这可能不是一个好主意。
FocusedTextField.java:
package de.foo.bar.gui;
import javafx.beans.property.StringProperty;
import javafx.scene.control.TextField;
public class FocusedTextField extends TextField{
public void setStringProperty(StringProperty stringProperty){
focusedProperty().addListener((observable, oldValue, newValue) ->
stringProperty.setValue(getText()));
}
}
摘自FooDialog.fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import de.foo.bar.gui.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane>
<children>
<FocusedTextField fx:id="fooField" />
<FocusedTextField fx:id="barField" />
</children>
</AnchorPane>
最佳答案
当我将标题部分 xml 复制到另一个 fxml 布局文件时,我遇到了同样的问题。 但是当我与 import 语句一起复制时,它被清除了.. 现在,场景生成器会显示由另一个源编辑后的布局文件。
关于java - 选择包含未解析的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27113417/