当控制器的财产是私有的或受保护的时出现异常



我在FXMLDocument.fxml中有这个TextField:

<TextField fx:id="searchBox" onKeyPressed="#updateText">
<StackPane.margin>
<Insets left="60.0" right="30.0" top="50.0" />
</StackPane.margin>
</TextField>

FXML 文档(上述代码所在的位置(具有名为 FXMLDocumentController.java 的控制器类。在此内容中,我有以下代码:

public class FXMLDocumentController {
public TextField searchBox;
@FXML
public void updateText (KeyEvent e) {
System.out.println(searchBox.getText());
}
}

请注意,searchBox属性是public。当我将其设置为private时,我的代码在运行时抛出异常。我见过有人在堆栈溢出答案中将"事件边界属性"指定为private(这是一个(。看到这些答案,我认为将属性指定为private应该不会给出任何错误。那么我的代码有什么问题呢?

在TextField 搜索框上使用@FXML注释。请参阅下面的代码:-

public class FXMLDocumentController {
@FXML
private TextField searchBox;
@FXML
public void updateText (KeyEvent e) {
System.out.println(searchBox.getText());
}
}

相关内容

最新更新