gpt4 book ai didi

java - TextField 失去焦点到其他窗口

转载 作者:行者123 更新时间:2023-12-02 11:59:52 26 4
gpt4 key购买 nike

在 java-swing 应用程序中,我有一个带有某种帮助弹出窗口的文本字段。
即,当用户在文本字段内双击鼠标时,会显示此弹出窗口(作为未修饰的 JFrame 实现)。

一旦文本字段失去焦点,此弹出窗口就会再次隐藏。
问题是,显示此弹出窗口时,焦点会自动移动到该帧,从而在文本字段上触发lostFocus 事件。当然,这会再次关闭弹出窗口。

我希望仅当文本字段将焦点转移到同一窗口中的另一个组件时才触发lostFocus 事件。

知道如何实现这一点吗?

最佳答案

解决方案比我想象的要容易:
focusLost 回调中,检查 isTemporary() 标志。
如果设置,则忽略该事件。

更新:
如果设置了 ifTemporary() 标志,则确定获得焦点的组件(通过 getOppositeComponent() 的方式)。
如果该组件为 null,或其父窗口不是我们的弹出框架,则无论如何都要关闭弹出窗口。

关于java - TextField 失去焦点到其他窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47351212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com