【发布时间】:2017-01-16 12:54:45
【问题描述】:
我正在使用 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。
有人可以帮助我显示我们设置的相同值吗?提前致谢
【问题讨论】:
-
要得到
80%的显示值,设置的值不应该是0.80吗? -
@trashgod 如果我将 0.8 设置为一个值,那么它会显示为 80% 但是当我单击该字段时,它只会显示为 0.8
-
还可以考虑
JSpinner、Slider或SpinSlider。 -
@trashgod 我们可以使用它们,但是我们如何使用 JFormattedTextField 实现相同的效果
-
老实说,我认为这会令人困惑并且容易出错。
标签: java swing jformattedtextfield numberformatter