我已使用Formatter
将JFormattedTextField
应用于FormatterFactory
,当用户点击我想要选择内容的文本字段时。
焦点侦听器无法按预期工作,因为格式化程序被调用,最终导致重置该值,最终取消选择字段内容。我认为正在发生的事情是,在价值变化之后,Caret移动到最右边的位置,这将取消选择该字段。
有没有人知道如何解决这个问题并正确选择字段内容?
答案 0 :(得分:2)
快速而肮脏的解决方法是使用 来自focusListener的EventQueue.invokeLater。
EventQueue.invokeLater(new Runnable(){
public void run() { yourTextField.selectAll();}
});
答案 1 :(得分:1)