我在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
时,我的代码会在运行时抛出异常。我看到有人指定&#34;事件有界属性&#34;作为Stack Overflow答案中的private
(here's one)。看到这些答案,我认为将属性指定为private
不应该给出任何错误。那么我的代码出了什么问题呢?
答案 0 :(得分:0)
在TextField searchBox上使用@FXML Annotation。见下面的代码: -
public class FXMLDocumentController {
@FXML
private TextField searchBox;
@FXML
public void updateText (KeyEvent e) {
System.out.println(searchBox.getText());
}
}