首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swing工具提示的Java3D卡顿问题

Swing工具提示的Java3D卡顿问题
EN

Stack Overflow用户
提问于 2011-06-10 07:00:52
回答 1查看 508关注 0票数 4

我正在从事的一个Java项目在Java3d和Swing工具提示之间出现了奇怪的冲突。

我们的程序在中央设置了一个Java3D Canvas3D,周围环绕着Swing JComponents (按钮、滑块、文本框等)。键盘和鼠标用于在3d世界中移动,按钮允许进行其他操作。

问题是,只要来自Swing组件的工具提示延伸到我们的窗口( JFrame)之外,Java3D中的移动就会变得缓慢,并且会出现严重的卡顿问题。

我们最初的解决方案是覆盖每个组件的getToolTipLocation()方法,以确保工具提示留在我们的窗口内。这似乎在很大程度上是有效的,但它将工具提示留在了奇怪的位置。此外,我们偶尔会在程序启动时和在生成任何工具提示之前(每20-30次启动)得到卡顿/减速问题。

然后昨天我发现了一种更奇怪的修复方法。通过在我们使用的每种类型的组件中覆盖createToolTip (),我们可以调用setPreferedSize()并确保所有工具提示都是151像素宽。

有谁知道是什么导致了这种奇怪的行为,以及我可以尝试修复它的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-10 16:26:27

为了解决重量级/轻量级混合问题,我总是选择以下关于JPopupMenu和ToolTip的设置:

代码语言:javascript
复制
import javax.swing.JPopupMenu;
import javax.swing.ToolTipManager;

ToolTipManager ttManager = ToolTipManager.sharedInstance();
ttManager.setEnabled(true);
ttManager.setLightWeightPopupEnabled(false);

JPopupMenu.setDefaultLightWeightPopupEnabled(false);

你也实现了这一点吗?或者它有帮助吗?

八月,InteractiveMesh

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6300274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档