gpt4 book ai didi

填充 ListView 时出现 JavaFx NullPointer 异常

转载 作者:行者123 更新时间:2023-12-01 12:30:57 25 4
gpt4 key购买 nike

我过去一天才使用 JavaFX,但在尝试填充 ListView 时似乎遇到了空指针异常。

基本上我有登录表单,当用户登录时会加载一个新的 .fxml 表单,其中包含一个带有 ListView 的 Accordion 。

我希望用户单击登录按钮后填充 ListView 。调试显示 AccountMenu 为空,但我不明白为什么。谁能指出我正确的方向?

谢谢

public class Controller {
@FXML
ListView<String> AccountMenu;


void Login(ActionEvent event) {
try {
ObservableList<String> items =FXCollections.observableArrayList (
"Item one","Item two");
AccountMenu.setItems(items);

}catch(Exception e){
e.printStackTrace();
}
}

fxml 文件的一部分:

<Accordion layoutY="136.0" prefHeight="768.0" prefWidth="210.0">
<panes>
<TitledPane id="MyAccount" animated="false" text="My account">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<ListView id="AccountMenu" fx:id="AccountMenu" layoutX="-1.0" prefHeight="658.0" prefWidth="210.0" />
</children>
</AnchorPane>
</content>
</TitledPane>
<TitledPane animated="false" style="-fx-background-color: red;" text="Books">

最佳答案

首先你应该遵循java编码风格,属性和变量应该以小写开头。

如果您声明了 Controller ,您的 FXML 不会显示,您的顶部容器应该具有 xml 属性 fx:controller="<your package>.Controller" ,您应该通过方法 FXMLLoader.getController() 访问您的 Controller 否则不会发生注入(inject)。

关于填充 ListView 时出现 JavaFx NullPointer 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com