简体   繁体   English

Scene Builder-无法添加控制器

[英]Scene Builder - unable to add controller

I'm working on going through a tutorial to learn about JavaFX with Scene Builder and I use IntelliJ IDEA instead of Eclipse, which is what the tutorial used. 我正在研究一个教程,以了解有关带有Scene Builder的JavaFX的知识,并且我使用IntelliJ IDEA而不是Eclipse,而这正是该教程所使用的。 I made a Javascript project in IDEA and it made my src , projectX , Controller.java , Main.java , and projectX.fxml files for me. 我在IDEA中创建了一个Javascript项目,并为我创建了srcprojectXController.javaMain.javaprojectX.fxml文件。

I have the project open in Scene Builder now and I added a controller class to the anchor pane, which it autocompletes for me because it recognizes that I have a controller class and it looks correct. 我现在在Scene Builder中打开了项目,并向锚定窗格中添加了一个控制器类,它会自动完成,因为它可以识别出我有一个控制器类并且看起来正确。
However, when I go back to my .fxml file, it has my controller label in red as an error, and says No controller specified for top level element. 但是,当我返回.fxml文件时,它的控制器标签以红色显示为错误,并表示No controller specified for top level element. It also says Cannot resolve class or package projectX. 它还说Cannot resolve class or package projectX.
What the hell am I supposed to do differently? 我到底该怎么做? I followed the tutorial exactly... 我完全按照本教程...

The project file structure is as follows: 项目文件结构如下:

ProjectX > src > ProjectX (package) > Controller.java > Main.Java > ProjectX.fxml ProjectX> src> ProjectX(程序包)> Controller.java> Main.Java> ProjectX.fxml

Here's the error in the .fxml file: http://gyazo.com/ad16dc55cc3ba59ebf9e60e2497f03af 这是.fxml文件中的错误: http ://gyazo.com/ad16dc55cc3ba59ebf9e60e2497f03af

And in Scene Builder, this is what I typed in "Controller class": Main.ProjectBonify.Controller ALSO TRIED: ProjectBonify.Controller 在Scene Builder中,这是我在“控制器类”中键入的内容: Main.ProjectBonify.Controller尝试过: ProjectBonify.Controller
Neither work. 都不起作用。

Thanks in advance. 提前致谢。

The error message means that the "fx:controller" isn't found. 该错误消息表示未找到“ fx:controller”。

Here are some examples of what worked for me: 以下是一些对我有用的示例:

fx:controller="stockmanager.FXMLDocumentController" fx:controller="simplefmxlexample.FXMLDocumentController" fx:controller =“ stockmanager.FXMLDocumentController” fx:controller =“ simplefmxlexample.FXMLDocumentController”

stockmanager and simplefmxlexample are package names stockmanager和simplefmxlexample是程序包名称

FXMLDocumentController is the class name of the controller FXMLDocumentController是控制器的类名

You can also set this in Scene Builder, see: JavaFX scene builder 2: controller class 您也可以在Scene Builder中进行设置,请参阅: JavaFX Scene Builder 2:控制器类

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM