IntelliJ won';编译从文档中复制的基本JavaFX程序
我正在使用IntelliJ中的Scene Builder和Java FX制作我的第一个GUI程序。我想做一个选择框,所以我在这里查看了Java文档: 我根据文档中的choicebox,发现IntelliJ无法识别该方法。因此,我只是直接从文档中粘贴副本,但仍然得到了一个错误。我的代码如下:IntelliJ won';编译从文档中复制的基本JavaFX程序,java,intellij-idea,javafx,Java,Intellij Idea,Javafx,我正在使用IntelliJ中的Scene Builder和Java FX制作我的第一个GUI程序。我想做一个选择框,所以我在这里查看了Java文档: 我根据文档中的choicebox,发现IntelliJ无法识别该方法。因此,我只是直接从文档中粘贴副本,但仍然得到了一个错误。我的代码如下: package sample; import javafx.scene.control.ChoiceBox; public class Controller { ChoiceBox cb = new
package sample;
import javafx.scene.control.ChoiceBox;
public class Controller {
ChoiceBox cb = new ChoiceBox();
cb.getItems().addAll("item1", "item2", "item3");
}
“.getItems()”为红色文本,错误“无法解析符号getItems”是列出的错误。其他人编译了这个程序,它为他们的机器工作
cb.getItems().addAll("item1", "item2", "item3");
需要放在方法的内部
正确的代码是:
package sample;
import javafx.fxml.FXML;
import javafx.scene.control.ChoiceBox;
public class Controller {
@FXML private ChoiceBox cb;
public void initialize() {
cb.getItems().addAll("item1", "item2", "item3");
}
}
注入字段后,fxmloader
将调用initialize
方法
编辑:添加了@fabian对
FXML
加载/初始化的评论
需要放在方法的内部
正确的代码是:
package sample;
import javafx.fxml.FXML;
import javafx.scene.control.ChoiceBox;
public class Controller {
@FXML private ChoiceBox cb;
public void initialize() {
cb.getItems().addAll("item1", "item2", "item3");
}
}
注入字段后,fxmloader
将调用initialize
方法
编辑:添加了@fabian对
FXML
loading/initializationCool的评论。现在我只需要让它真正起作用。它现在可以编译,但单击choicebox时不会显示任何选项。身份证匹配等等。我想我需要做一些其他的方法来填充选项或其他东西???@user2778506:您需要将cb
作为一个字段,并用@FXML
注释它:@FXML private ChoiceBox cb代码>,但不要初始化它(fxmloader执行此操作)。您可以在这里找到示例:,只需查找fxml中的fx:id
属性以及控制器中的相应字段…@fabian感谢您处理JavaFX
内容,我以前从未真正使用过该平台:)完成了所有这些。看看webm:@user2778506你能在你的问题中发布你的代码,而不是视频吗。例如,我看不到您在fxml文件中设置控制器类的任何地方。至于教程,很多人似乎都喜欢。酷。现在我只需要让它真正起作用。它现在可以编译,但单击choicebox时不会显示任何选项。身份证匹配等等。我想我需要做一些其他的方法来填充选项或其他东西???@user2778506:您需要将cb
作为一个字段,并用@FXML
注释它:@FXML private ChoiceBox cb代码>,但不要初始化它(fxmloader执行此操作)。您可以在这里找到示例:,只需查找fxml中的fx:id
属性以及控制器中的相应字段…@fabian感谢您处理JavaFX
内容,我以前从未真正使用过该平台:)完成了所有这些。看看webm:@user2778506你能在你的问题中发布你的代码,而不是视频吗。例如,我看不到您在fxml文件中设置控制器类的任何地方。至于教程,很多人似乎都喜欢。