Java bug 数据库中有几个似乎与此相关的 bug 票证,例如
使用双显示器(双头)配置时的工具提示问题。
JApplet 中的 JToolTip 会将工具提示放置在错误的监视器中
带有一些多显示器配置的操作按钮工具提示问题
On 作为另一个副本关闭,一个声称已修复,另一个已修复-理解集。
一些用户发布的一种解决方法是
frame.pack();
frame.setLocation(location);
frame.setLocation(new Point(0, 0));
frame.setLocation(location);
基隆·威尔金森
这样做的原因是
setLocation()
最终调用
Component.reshape()
,而后者又调用一个名为 的方法
Component.notifyNewBounds(boolean
resized, boolean moved)
,该方法跨越组件层次结构设置每个组件的边界。默认情况下,这是“懒惰地”完成的,但在移动窗口之前没有设置它们。上面的代码强制设置它们。
This is also why the tooltips start working properly after dragging the window from one screen to another.