如何实时添加1000个分隔符?

时间:2013-10-23 06:05:50

标签: java swing jform-designer

我使用JFormDesigner创建了一个表单,当用户输入4位或更多的数字时,需要自动添加1000个分隔符。我尝试了以下代码,但它没有实时添加分隔符(,)。 / p>

int no=Integer.parseInt(textField1.getText());
String str = String.format("%,d", no);
textField1.setText(str);

任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:0)

由于您提到它没有实时添加分隔符,因此我怀疑您在单击按钮或类似内容时执行该代码。

您需要做的是捕获关键笔划事件并相应地修改文本。 This之前的SO帖子应该指向正确的方向。

答案 1 :(得分:0)

您应该使用DecimalFormat类在数字中添加,。像

 DecimalFormat df=new DecimalFormat("###,###");     

 int no=Integer.parseInt(textField1.getText());
 String str = df.format(no);
 textField1.setText(str);

答案 2 :(得分:0)

Swing为此目的设置了文本字段格式 - 我认为您正在寻找JFormattedTextField

答案 3 :(得分:0)

我猜你可以用这个

 DecimalFormat df = new DecimalFormat("#,###,##0.00");
 df.format(no);

答案 4 :(得分:0)

要获取自定义分组分隔符(例如空格),请执行以下操作:

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');

DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));