2016-08-11 93 views
-1

我正尝试创建一个FormattedTextField,用户通知产品的价格。但是我不知道如何格式化该领域,因为产品可以具有任何尺寸(例如$ 1,72或$ 489)。我希望该字段可以具有这种格式:“xxx.00”x是数字,但它们可以是一个或多个,具体取决于产品的价格。基于用户输入的FormattedTextField

如何创建所需的格式?

+0

为什么你想这样做吗? – ifly6

+0

建立一个程序,以便我可以管理我的商店的成本。 – Levy

+0

只需使用['NumberFormat.getCurrencyInstance(...)'](http://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.html#getCurrencyInstance(java.util.Locale) ):NumberFormat format = NumberFormat.getCurrencyInstance(Locale.US); format.setMaximumIntegerDigits(3); format.setMaximumFractionDigits(2); JFormattedTextField field = new JFormattedTextField(format); field.setValue(0.0);' –

回答

0

在使用Swing GUI Builder的Ne​​tbeans中,可以通过右键单击FormattedTextField并转至属性来完成此操作。然后在Properties下选择formatterFactory,并选择货币类别。然后选择第三个选项,看起来像这样:

¤#,##0.00 

这将会给你,你看你到底是什么,而一旦用户点击了文本框的它会格式化你想怎么数量。

要做到这一点的代码将是这样的:

jFormattedTextField1.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("¤#,##0.00"))));