【发布时间】:2012-09-27 18:57:37
【问题描述】:
我正在尝试使用 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+"");
}
});
}
这里有什么问题?
【问题讨论】:
-
您可以添加SSCCE 来证明问题。
-
请注意,这段代码有一些奇怪的地方:1)方法名称与实现不匹配 2)您将
DocumentListener附加到文本字段,当触发该侦听器时,您什么也不做与实际事件或该文本字段的内容
标签: java swing jtextfield string documentlistener