任何人都知道当用户在字段中输入时如何自动将$符号添加到文本字段中,并且还使用户无法取消$符号。
最佳答案
不是“严格地”问您要问的内容,而是以How to use for attend text fields为例,例如...
paymentField = new JFormattedTextField(NumberFormat.getCurrencyInstance());
paymentField.setValue(new Double(payment));
paymentField.setColumns(10);
paymentField.setEditable(false);
问题在于用户可能会删除
$
符号,并且验证非常严格,这意味着输入到字段中的文本必须以$
开头另一种可能性是使用Swing Labs的SwingX库中的
BuddySupport
APINumberFormat nf = NumberFormat.getNumberInstance();
nf.setMinimumFractionDigits(2);
paymentField = new JFormattedTextField(nf);
paymentField.setValue(100d);
paymentField.setColumns(10);
paymentField.setEditable(false);
BuddySupport.addLeft(new JLabel("$"), paymentField);
这意味着
$
是与实际字段不同的组件,不能由用户删除(但包含在该字段中,因此不受父容器的布局管理器的影响)