我们使用JFreeChart来制作XY图,我们有一个功能请求来做一个与鼠标一起移动的十字准线,并突出显示最接近地映射到鼠标x值的数据点.您可以在Google财经中查看类似的示例 - http://www.google.com/finance?q=INDEXDJX:.DJI,INDEXSP:.INX,INDEXNASDAQ:.IXIC.
那些谷歌图表只突出显示当前值(我们希望这样做并显示十字准线),但它们显示了我们正在寻找的实时鼠标交互.
有什么优雅的建议吗?
谢谢.
Swing 中是否有一种优雅的方式来查明我的框架中当前是否显示任何工具提示?
我正在使用自定义工具提示,因此在我的方法中设置标志非常容易createToolTip()
,但我看不到一种方法来找出工具提示何时消失。
ToolTipManager
有一个很好的标志,tipShowing,但当然是这样private
,他们似乎没有提供一种方法来实现它。 hideWindow()
没有调用工具提示组件(我可以告诉),所以我看不到那里的方法。
有人有什么好主意吗?
更新:我进行了反思。您可以在此处查看代码:
private boolean isToolTipVisible() {
// Going to do some nasty reflection to get at this private field. Don't try this at home!
ToolTipManager ttManager = ToolTipManager.sharedInstance();
try {
Field f = ttManager.getClass().getDeclaredField("tipShowing");
f.setAccessible(true);
boolean tipShowing = f.getBoolean(ttManager);
return tipShowing;
} catch (Exception e) {
// We'll keep silent about this for now, but obviously we don't want to hit this
// e.printStackTrace();
return false;
}
}
Run Code Online (Sandbox Code Playgroud)