Javafx Textfield-getText()是否为空?
我在FXML中创建了一个javafx文本字段。它链接到一个名为“TheHoldbox”的变量(如下所示,实例化未显示)。我让字段监听KeyEvents,但每当我在字段中输入值时,“getText()”总是返回一个空字符串 Java代码: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
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();
}