JFormattedTextField值与我设置的不同

时间:2017-01-16 12:54:45

标签: java swing jformattedtextfield numberformatter

我正在使用JFormattedTextField在文本字段中显示百分比值,如下所示:

NumberFormat percentDisplayFormat = NumberFormat.getPercentInstance();
NumberFormat editFormat = NumberFormat.getNumberInstance();

percentDisplayFormat.setMinimumFractionDigits(2);

NumberFormatter percentEditFormatter = new NumberFormatter(editFormat);

JFormattedTextField jftfPercentage = new JFormattedTextField(new DefaultFormatterFactory(new NumberFormatter(percentDisplayFormat), new NumberFormatter(percentDisplayFormat), percentEditFormatter));

jftfPercentage.setBounds(113, 95, 236, 21);
jftfPercentage.setName("JftfPercentage");

并设置如下值:

jftfPercentage.setValue(<someDoubleValue>);

现在,假设我将值设置为80,然后它将值显示为8000% 但是,每当我点击该字段时,它仅显示为80.

有人可以帮我显示我们设置的相同值。提前致谢

1 个答案:

答案 0 :(得分:0)

我在这里得到了这个问题。在内部,默认数字格式化程序在显示时将给定值与100相乘。 (如果我们使用PercentInstance)

public Button GetCorrectButton(){
    return theCorrectButton;
}