我正在使用JFormattedTextField
输入带小数点的数字。以下是格式化程序。
public static AbstractFormatterFactory createFormatter() {
final NumberFormat format = NumberFormat.getInstance();
final InternationalFormatter formatter = new InternationalFormatter(format);
formatter.setValueClass(Double.class);
formatter.setAllowsInvalid(false);
formatter.setOverwriteMode(true);
formatter.setCommitsOnValidEdit(true);
return new DefaultFormatterFactory(formatter, formatter, formatter);
}
使用setAllowsInvalid(false)
时,会被忽略,但是会根据需要每3位添加逗号。对于setAllowsInvalid(true)
,接受句点,但是直到焦点更改,逗号才会显示。
是否可以同时具有两种行为?
答案 0 :(得分:0)
我相信JFormattedTextField在编辑和显示时会采用不同的格式,这是我问题的根源。我找到了一篇很好的(如果不是很旧的话)有关使用JFormattedTextField的文章,该文章将所有内容很好地组合在一起。 http://www.drdobbs.com/jvm/java-better-interfaces-via-jformattedtex/224700979