当前位置: 首页 > 面试题库 >

如何控制JComponent的工具提示的显示?

朱通
2023-03-14
问题内容

我有一个JComponent可以自己绘制各种形状。我检测到鼠标何时进入这些形状之一,并相应地更改工具提示。

我遇到的问题是:

  • 用户在形状上跟踪鼠标时,工具提示不会跟随鼠标。它停留在最初设置的位置,然后仅在其他形状更改工具提示时才跳转。
  • 工具提示大约需要一秒钟的时间,但我希望它立即显示。

有人可以建议一种无需编写自定义工具提示机制即可获得这些行为的方法吗?


问题答案:

看一下ToolTipManager。

您可以向该管理员注册组件,然后调整许多设置。它非常简单易用。

至少可以解决您的初始延迟问题。

对于第一个问题,您可以从组件中覆盖createTooltip命令,以保留JTooltip实例。然后,只要将鼠标作为JComponent类的子类来移动(也可以跟随鼠标),它就很容易改变位置。



 类似资料:
  • 我在玩JavaFX的< code>Tooltip。我意识到对我个人来说,悬停在某个东西上和工具提示实际出现之间的延迟太长了。从API中可以看出: 通常,当鼠标移动到控件上时,工具提示被“激活”。工具提示从“激活”到实际显示之间通常会有一些延迟。细节(如延迟量等)留给皮肤实现。 经过进一步调查,我无法找到任何控制延迟的可能性。JavaFX CSS Reference没有关于延迟时间的信息,的运行时评

  • 我在我的类的构造函数中使用了这段代码。 当鼠标进入时,println语句会打印到控制台,但其他两个工具提示方法不会显示相关的工具提示。这里的combobox是swing combobox的一个实例字段。settooltip方法不显示工具提示的原因是什么?

  • 我是Angular和Antd的新手,正在尝试在Antd图标上实现一个简单的工具提示。根据https://ng.ant.design/components/tooltip/en中给出的示例,代码看起来是正确的,虽然我确实得到了预期的图标,但悬停在它上面并不会显示工具提示。 在我的app.module.ts文件中: 在我的声明数组中: 并且在我的导入数组中: 最后,这里是我的tooltip.compo

  • 我在使用JavaFX时遇到了以下问题。 在Java Scene Builder中使用样式表works重新定义工具提示样式。 在eclipse中重新定义执行时的工具提示样式,在由scene builder生成的FXML文件中包含相同的样式表 不起作用(任何其他属性重定义都起作用)。 使用代码指令在eclipse中使用相同样式表重新定义执行时的工具提示样式: 编辑:换句话说,我想成为一个在FXML文件

  • 问题内容: 我向这样的工具栏添加菜单: 基本上,它工作正常。但是,它永远不会显示工具提示(“添加新项”)。有什么提示吗? 编辑:以防万一遇到相同问题的人偶然发现:这是L&F,正如我从一开始就应该怀疑的那样。它具有显示JMenuItems工具提示的属性;并且默认为false。 问题答案: 下面的sscce可以正常工作。如果您仍然有问题,请编辑问题,以包含显示您所描述问题的示例。 附录:我将添加到,它

  • 问题内容: 我想为工具提示创建一个自定义CSS类,该类将包裹长度超过25-30的字符串。通常这样长的文本不适合tootltip文本区域。 而且是否有使用[工具提示ui.bootstrap.tooltip)进行此操作?就像使用自定义CSS类来获取所需的输出。 这是简单的CSS工具提示 这是相同的代码片段: 问题答案: CSS解决方案 对于眼前的问题有一个非常简单的解决方案。我基本上添加的是以下CSS