使用应用程序开关使java工具提示消失

使用应用程序开关使java工具提示消失,java,tooltip,Java,Tooltip,我使用JComponent.setToolTipText在java应用程序中获取工具提示,但与eclipse不同,如果我在显示提示时切换到另一个应用程序,它将一直悬停在我正在做的事情上,直到我切换回java应用程序,并在返回到备用应用程序之前移动鼠标使其脱离元素。有没有办法让我的应用程序中的工具提示更好?让它们在应用程序失去焦点时消失 如果相关的话,我正在使用mac电脑。我找到了解决方案!(有同事的一些意见) .addWindowFocusListener(新的WindowFocusListen

我使用JComponent.setToolTipText在java应用程序中获取工具提示,但与eclipse不同,如果我在显示提示时切换到另一个应用程序,它将一直悬停在我正在做的事情上,直到我切换回java应用程序,并在返回到备用应用程序之前移动鼠标使其脱离元素。有没有办法让我的应用程序中的工具提示更好?让它们在应用程序失去焦点时消失

如果相关的话,我正在使用mac电脑。

我找到了解决方案!(有同事的一些意见)

.addWindowFocusListener(新的WindowFocusListener(){
@覆盖@SuppressWarnings(“未使用”)
公共无效windowLostFocus(WindowEvent e){
ToolTimManager.sharedInstance().setEnabled(false);
}
@覆盖@SuppressWarnings(“未使用”)
公共无效windowGainedFocus(WindowEvent e){
ToolTipManager.sharedInstance().setEnabled(true);
}
});
监听windowActivated/Deactivated的WindowAdapter也可以工作。
普通FocusListener没有。

您使用的是轻量级还是重量级工具提示?[使用TooTipManager.sharedInstance().isLightWeightPopupEnabled()检查,或使用同级设置LightWeightPopupEnabled(布尔值)设置。]它是轻量级的。我更喜欢哪一种?每种方法都有利弊吗?我试着用二传手把它换成false,但没有看到任何变化。
<myJFrame>.addWindowFocusListener(new WindowFocusListener() {

        @Override @SuppressWarnings("unused")
        public void windowLostFocus(WindowEvent e) {
            ToolTipManager.sharedInstance().setEnabled(false);
        }


        @Override @SuppressWarnings("unused")
        public void windowGainedFocus(WindowEvent e) {
            ToolTipManager.sharedInstance().setEnabled(true);
        }
    });