由格式化程序覆盖的选择

时间:2008-10-05 23:28:37

标签: java swing caret formatter

我已使用FormatterJFormattedTextField应用于FormatterFactory,当用户点击我想要选择内容的文本字段时。

焦点侦听器无法按预期工作,因为格式化程序被调用,最终导致重置该值,最终取消选择字段内容。我认为正在发生的事情是,在价值变化之后,Caret移动到最右边的位置,这将取消选择该字段。

有没有人知道如何解决这个问题并正确选择字段内容?

2 个答案:

答案 0 :(得分:2)

快速而肮脏的解决方法是使用 来自focusListener的EventQueue.invokeLater。

 EventQueue.invokeLater(new Runnable(){
  public void run() { yourTextField.selectAll();}
});

答案 1 :(得分:1)

你正在使用哪个jdk - 这有什么机会吗?