开发者

Setting Text in a JFormattedTextField

I'm using the code snippet below to create a JFormattedTextField. When entering values via the G开发者_开发知识库UI text field the formatting works as expected. However, when I programmatically set the value the formatting does not occur. How can I force this to occur?

JFormattedTextField myTextField = new JFormattedTextField(new DecimalFormat("#0.###"));
// Formatting Does Not Occur
myTextField.setText("555.55555");


Take a look at the setValue() method

Try this

myTextField.setValue(new Float("555.55555"));


To add to OTisler's answer:

From the Javadoc for JFormattedTextField.setText()

Note that text is not a bound property, so no PropertyChangeEvent is fired when it changes. To listen for changes to the text, use DocumentListener.

From the Javadoc for JFormattedTextField.setValue()

Sets the value that will be formatted by an AbstractFormatter obtained from the current AbstractFormatterFactory.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜