2016-08-11 98 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"))));