输入后更新文本字段
问题描述:
我想用几个JTextFields编写一个GUI。其中两个字段用于浮点值。我已经有字段忽略格式化程序的任何非数字输入,但是如果输入整数(即“5”变为“5.00”),我还希望文本字段中的文本更新为浮点值。我尝试在事件中使用setText()命令更新文本字段,但显示的值不变。我希望在文本字段丢失焦点后文本会发生变化。输入后更新文本字段
代码很长,所以我会包含相关的代码片段。
heightField.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
heightDone = !heightField.getText().trim().equalsIgnoreCase("");
//This is the problem code//
if(UF.isInt(heightField.getText().trim()))
heightField.setText(heightField.getText().trim().concat(".00"));
System.out.println(heightField.getText());
heightFormat = UF.isFloat(heightField.getText().trim());
isDone();
}
});
答
也许你需要在文本框更改后刷新框架:
frame.repaint();
我曾尝试在该事件的代码。它没有工作。 – aesguitar