gpt4 book ai didi

java - JTextField 清算时的值(value)迷失

转载 作者:行者123 更新时间:2023-11-30 11:40:22 26 4
gpt4 key购买 nike

我正在尝试使用 Eclipse 中的 WindowBuilder 插件创建 Java Windows 应用程序。我有一个 JTextField 在输入所需值时工作正常。但是,当我清除字段中的所有内容并尝试重新输入其他值时,这些值会迷失方向,即这些值根本没有出现,或者似乎出现在下一行中。

我正在使用 DocumentListener,所以是的,这可能会导致空字符串异常。但是,我不确定为什么 JTextField 的内容在重新输入时不合适。

PFB 我的一段代码:

void computeTotal(final JTextField jtf){
jtf.getDocument().addDocumentListener(new DocumentListener(){
public void changedUpdate(DocumentEvent e) {
//warn();
getTotal();
}
public void removeUpdate(DocumentEvent e) {
//warn();
getTotal();
}
public void insertUpdate(DocumentEvent e) {
//warn();
getTotal();
}
public void getTotal(){
bt = Float.parseFloat(billTotal.getText());
bd = Float.parseFloat(billDeduction.getText()) ;
ta = Float.parseFloat(taxAmt.getText());
tt = bt - bd+ ta;
totalTotal.setText(tt+"");
}

});
}

这里有什么问题?

最佳答案

What is the problem here?

  • 使用Number Formatter格式化的JFormattedTextField,那么Doc​​umentListener就是正确的监听器

  • 无需解析,良好的输出没有问题,千位分隔符,不允许输入非数字字符

  • 将 DocumentFilter 与 Patern 一起使用,在那里您可以删除非数字字符,然后您可以使用相当保存的内容进行解析,其中包含数字、小数点分隔符和负数

关于java - JTextField 清算时的值(value)迷失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12766245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com