我是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有关自定义格式的链接.