使用Java(Netbeans)中的JTextfield使用点分隔符使输入字段自动格式编号

我是Java的新手
在我的第一个Java程序(使用Netbeans)中,我想添加带有点“”的输入字段自动格式编号.使用JTextfield的分隔符.
这是我的短代码:

private void PayTransKeyReleased(java.awt.event.KeyEvent evt) {                                       
// TODO add your handling code here:
String b;
b = PayTrans.getText();
if (b.isEmpty()){
    b = "0";
}
else {
    b = b.replace(".","");
    b = NumberFormat.getNumberInstance(Locale.ENGLISH).format(Double.parseDouble(b));
    b = b.replace(",", ".");
}
PayTrans.setText(b);
}

但是我感觉不够完美,因为插入符/光标无法通过键盘上的箭头键移动.我尝试搜索更好的代码,但从未找到.有没有人有解决方案?谢谢.

解决方法:

您应该改用JFormattedTextField.

private DecimalFormatSymbols dfs;
private DecimalFormat dFormat;

dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.'); //separator for the decimals
dfs.setGroupingSeparator(','); //separator for the thousands
dFormat = new DecimalFormat ("#0.##", dfs);

JFormattedTextField ftf = new JFormattedTextField(dFormat);

Here’s有关自定义格式的链接.

上一篇:php-在Netbeans 7.3中配置Composer


下一篇:Java-REST Web服务:服务器响应GET的JAX-B错误