你好? 有人遇到过这样的问题:光标一次在多个字段中闪烁?在我的情况下,会发生以下情况:当您双击字段 JTextField 时,会打开一个 JDialog,因此关闭此按钮后,焦点将定向回打开屏幕之前单击的字段。
发生的情况是,执行此操作后,两个字段同时闪烁(通常是第一个字段屏幕,以及 efetuei 双击的字段)。这种媒介是随机的,在某些情况下不会发生。
调试内部类处理程序时,包含在类 DefaultCaret 中更具体地说是 actionPerforming 方法,实现了那:时间是一个场,时间是另一个,这正是闪烁的场(我知道q似乎很明显)。但他们是调用该方法的自己的 Java 内部类。
使用 Tab 跳过字段时,光标 false 消失。
我正在使用 JDK 6
我在 invokeLater() 中返回了焦点,但没有解决。现在两个同步闪光灯
第一个 JComponent 可聚焦是闪烁不正确的字段之一
我正在使用自己的FocusTraversalPolicy,这可能会产生影响吗?有趣的是,我的班级没有特别奇怪的待遇。
我注意到标准的Java类,使用同步getFirstComponent()中的方法,但添加了相同的控件,但仍然不行
对我来说是焦点问题。
通常,当JTextComponent
失去焦点时,setCaretVisible(false)
/setSelectionVisible(false)
被调用,当焦点获得相反的事情发生时。
关闭JDialog
后尝试将焦点返回到invokeLater()
内。还要检查JDialog
父级中的第一个可聚焦JComponent
是什么。
出现这种情况是因为我正在开发的项目非常大,所以不要得到实现的小例子
该项目有许多组件,表和容器,需要同时关注。
事实证明,Swing,放入一个队列执行,很多线程,然后调度它们去,虽然他没有完成运行它,但你可以塞满grabFocus()或requestFocus(),它不会哭,首先他必须完成所有事情,然后运行我的请求焦点。
使用SwingSwingUtilities.invokeLater(...)姑息地解决了这种情况;
感谢您的提示。