我在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());
}
}