Javafx Textfield-getText()是否为空?

Javafx Textfield-getText()是否为空?,java,javafx,textfield,Java,Javafx,Textfield,我在FXML中创建了一个javafx文本字段。它链接到一个名为“TheHoldbox”的变量(如下所示,实例化未显示)。我让字段监听KeyEvents,但每当我在字段中输入值时,“getText()”总是返回一个空字符串 Java代码: @FXML public void threshBox(KeyEvent e) { //always empty unless I set it manually using "thresholdBox.setText("TESTING")" or so

我在FXML中创建了一个javafx文本字段。它链接到一个名为“TheHoldbox”的变量(如下所示,实例化未显示)。我让字段监听KeyEvents,但每当我在字段中输入值时,“getText()”总是返回一个空字符串

Java代码:

@FXML
public void threshBox(KeyEvent e) {
    //always empty unless I set it manually using "thresholdBox.setText("TESTING")" or something
    String newValue = thresholdBox.getText();
    System.out.println("Text: " + newValue);
}
FXML:


看起来我不应该在初始化函数中使用“thresholdBox=newtextfield();”,因为这会覆盖我的fxml TextField


谢谢你的回答,James_D。

你能发布控制器的相关部分吗?也就是说,所有引用
thresholdBox
(声明、其他方法中的任何引用等)的内容?当然,等一下。好的,问题已编辑。不要使用
thresholdBox=newtextfield()
。。。将新文本字段指定给
阈值框
(替换FXML文件中定义的文本字段)。因此,当您调用
getText()
时,您得到的是新文本字段的文本(甚至没有显示),而不是您在FXML中创建的文本。太棒了!看起来是这样的。我现在得到了价值。谢谢:)最重要的一点是,您不应该将值分配给带有
@FMXL
注释的变量。
<TextField fx:id="thresholdBox" layoutX="255.0" layoutY="5.0" onKeyTyped="#threshBox" prefHeight="31.0" prefWidth="91.0" promptText="0.00" />
//here are the only two other places thresholdBox is used. 
//I cropped irrelevant variable declarations, since they do not interact with thresholdBox. 

//class variable
@FXML
TextField thresholdBox;

@Override
public void initialize(URL url, ResourceBundle rb) {
    thresholdBox = new TextField();
}