java - 选择被格式化程序覆盖

标签 java swing caret formatter

我已使用 FormatterFactoryFormatter 应用到 JFormattedTextField,当用户单击文本字段时我想要选择内容。

焦点监听器无法按预期工作,因为格式化程序被调用,这最终导致值被重置,最终取消选择字段内容。我认为发生的情况是,在值更改后,插入符移动到最右边的位置,这会取消选择该字段。

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

最佳答案

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

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

关于java - 选择被格式化程序覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/172841/

相关文章:

java - 计算 2 个坐标之间的立方体积

java - 如何在swing中自由布局动态添加按钮等组件?

java - 为什么它总是给出相同的时间?

drop-down-menu - Twitter Bootstrap 问题 : Right align the caret in the dropdown header

java - 获取当前 <input> 元素的值的最简单/最干净的方法

java - maven-shade-插件和许可证

java - Glassfish Web服务高并发

java - 为什么这个 shutdownhook 不起作用?

javascript - 如何从 contenteditable 中获取特定选择

html - 样式化文本输入插入符