Java 光标在两个字段中闪烁(JTextField)

Java 光标在两个字段中闪烁(JTextField),java,swing,focus,jtextfield,caret,Java,Swing,Focus,Jtextfield,Caret,喂?任何人都有这样的问题:光标一次在多个字段中闪烁? 在我的例子中,会发生以下情况:当您双击一个字段JTextField时,会打开一个JDialog,因此 关闭此选项后,焦点将被引导回打开屏幕之前单击的字段 执行此操作后,两个字段同时闪烁(通常是第一个字段) 屏幕以及efetuei双击的字段)。 这种媒介是随机的,有些情况下它不会发生 在调试类DefaultCaret中包含的内部类处理程序(更具体地说是actionPerformed方法)时,实现了 那就是:时间是一个场,时间是另一个场,这正是闪

喂?任何人都有这样的问题:光标一次在多个字段中闪烁? 在我的例子中,会发生以下情况:当您双击一个字段JTextField时,会打开一个JDialog,因此 关闭此选项后,焦点将被引导回打开屏幕之前单击的字段

执行此操作后,两个字段同时闪烁(通常是第一个字段) 屏幕以及efetuei双击的字段)。 这种媒介是随机的,有些情况下它不会发生

在调试类DefaultCaret中包含的内部类处理程序(更具体地说是actionPerformed方法)时,实现了 那就是:时间是一个场,时间是另一个场,这正是闪烁的场(我知道q似乎很明显)。但是他们是 调用该方法的Java内部类

使用选项卡通过字段时,光标false将消失

我正在使用JDK6


我在invokeLater()中返回了焦点,但没有解决。现在两个都同步了

第一个JComponent focusable是不正确闪烁的字段之一

我在使用我自己的聚焦策略,这会影响我吗?有趣的是,我的班级没有特别奇怪的待遇


我注意到标准Java类使用了Syncronized getFirstComponent()中的一个方法,但添加了相同的控件,但仍然不正常,实际上这是我关注的焦点问题

通常,当调用
JTextComponent
失去焦点时
setCaretVisible(false)
/
setSelectionVisible(false)
,当获得焦点时,会发生相反的事情


关闭
JDialog
后,尝试在
invokeLater()内返回焦点。还要检查
JDialog
的父级中第一个可聚焦的
JComponent
是什么。

实际上这是我关注的焦点问题

通常,当调用
JTextComponent
失去焦点时
setCaretVisible(false)
/
setSelectionVisible(false)
,当获得焦点时,会发生相反的事情


关闭
JDialog
后,尝试在
invokeLater()内返回焦点。还要检查
JDialog
的父级中第一个可聚焦的
JComponent
是什么。

出现这种情况是因为我正在开发的项目非常大,所以不要获取小的实现示例

该项目有许多组件、表和容器,需要同时关注它们

结果是Swing,放入一个队列等待执行,大量线程,然后将它们分派出去,虽然他没有完成运行,但您可以填充grabFocus()或requestFocus(),这不会哭,首先他必须完成所有任务,然后运行我的请求焦点

使用Swing SwingUtilities.invokeLater(…)姑息性地解决了这种情况


谢谢你的提示。

出现这种情况是因为我正在开发的项目非常大,所以不要得到小的实施示例

该项目有许多组件、表和容器,需要同时关注它们

结果是Swing,放入一个队列等待执行,大量线程,然后将它们分派出去,虽然他没有完成运行,但您可以填充grabFocus()或requestFocus(),这不会哭,首先他必须完成所有任务,然后运行我的请求焦点

使用Swing SwingUtilities.invokeLater(…)姑息性地解决了这种情况


谢谢你的提示。

这是一种奇怪的行为。如果你不能很快找到一个合适的答案,考虑创建一个小程序,这个最小的必要部分,编译,运行,并演示你的问题,A.你的描述也有点难以遵循。再次,如果你没有得到一个像样的解决方案,考虑编辑和增强你的帖子。请和原生OS,(JDK 6YXXX)和使用的外观和感觉,因为在Windows平台不可能模拟…,这是一些奇怪的行为。如果你不能很快找到一个合适的答案,考虑创建一个小程序,这个最小的必要部分,编译,运行,并演示你的问题,A.你的描述也有点难以遵循。再次,如果你没有得到一个像样的解决方案很快,考虑编辑和增强你的帖子。请和原生OS,(JDK 6YXXX)和使用的外观和感觉,因为在Windows平台上不可能模拟…