自定义JavaFX8对象

自定义JavaFX8对象,java,custom-controls,javafx-8,custom-component,Java,Custom Controls,Javafx 8,Custom Component,我在使用JavaFX8时遇到问题 我有一个绑定到.fxml文件的控制器类。这是控制器类的构造函数的开始 public class SearchOverviewController { @FXML private TreeView<String> bookTree; .... 但是,当我尝试使用这些更改运行它时,会出现以下错误: Could not load resource because of: javafx.fxml.LoadException: /D:/Co

我在使用JavaFX8时遇到问题

我有一个绑定到.fxml文件的控制器类。这是控制器类的构造函数的开始

public class SearchOverviewController {
    @FXML
    private TreeView<String> bookTree;
....
但是,当我尝试使用这些更改运行它时,会出现以下错误:

Could not load resource because of: javafx.fxml.LoadException: 
/D:/Code/workspace/ocean2/target/classes/com/zurg/ocean2/view/SearchOverview.fxml:20
这是我的SearchOverview.fxml供参考。错误指向的行为:TreeView fx:id=“bookTree”maxWidth=“300.0”


我真的很困惑为什么我不能创建一个定制的JavaFX类。我甚至尝试创建一个管理器类,该类将TreeView作为参数,并对其进行修改,类似于我的自定义BookTree当前设置为相同错误消息的方式

谢谢你的帮助

指示
fxmloader
实例化
TreeView
fx:id
尝试将其分配给声明为

private BookView bookTree ;
在普通Java中,这类似于尝试调用

private BookTree bookTree = new TreeView<?>();
private BookTree BookTree=new TreeView();
这显然会在康普利时间失败

您应该能够将您的FXML更改为

<BookTree fx:id="bookTree" maxWidth="300.0"/>


这是第1000个Javafx-8问题。我很想告诉你你赢了什么,但是…哈哈。太棒了。谢谢!!你几乎完全正确。我还需要将这一行添加到导入:
private BookView bookTree ;
private BookTree bookTree = new TreeView<?>();
<BookTree fx:id="bookTree" maxWidth="300.0"/>