Swing 中精美的工具提示
我有一个 JTable,我想为列中的特定单元格显示一个精美的工具提示(基本上是一个 JTextArea)。我正在使用自定义单元格渲染器,因此如果我能够弄清楚当我将鼠标悬停在单元格渲染器的组件上时如何弹出一个窗口,那就很容易了。
有没有关于如何执行此操作的示例?
I have a JTable that I would like to display a fancy tooltip (basically a JTextArea) for particular cells in a column. I am using a custom cell renderer, so it would be easy if I could figure out how to popup a window when I hover over the cell renderer's component.
Are there any examples of how to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用
和
标签。
使用 HTML 来设置工具提示的格式。现在可以轻松使用彩色 (
) 和多行 (
) 工具提示。创建和覆盖默认的
JToolTip
有点困难。每个组件都有一个JToolTip
实例,您可以使用JComponent.createToolTip()
检索该实例。要创建自定义工具提示,请扩展 单元格渲染器 并覆盖它的createToolTip
来实现您的自定义功能(返回JToolTip
的自定义扩展版本)。You can use HTML in tooltips, if you use the
<html>
and</html>
tags around the content.Use HTML to format the tooltip. Using colored (
<font>
) and multi-line (<br>
) tooltips is now easy.Creating and overwriting the default
JToolTip
is a bit harder. Every component has aJToolTip
instance and you can retrieve this one withJComponent.createToolTip()
. To create a custom tooltip, extend the cell renderer and override it'screateToolTip
to implement your custom functionality (return a custom extended version ofJToolTip
).我不确定我是否完全清楚您具体希望进行哪种自定义,因此我将在这里进行一般性说明。
有一个类 UIManager ,控制组件的外观和感觉,包括 swing ToolTip 类。进行轻松更改的简单方法是调用 UIManager 中的方法来设置工具提示的属性。执行此操作,您可以执行诸如使用 BorderFactory 添加装饰边框或更改背景颜色等操作。
以下是更改其中一些属性的一些示例:
如果您想更改有关外观和感觉的一大堆内容,最好使用实现自定义工具提示外观和感觉的类来扩展当前的外观和感觉。 完整示例可以在前 Sun 开发人员的这篇博文中找到。
您还可以在 上查看此 Stack Overflow 问题如何设置工具提示上的插图。
I'm not sure I totally am clear on what sort of customizations specifically you're hoping to do, so I'll be general here.
There is a class, UIManager, that controls the look and feel of components, including the swing ToolTip class. The simple way to make an easy change is to call a method in UIManager to set properties for the tooltips. Doing this you could do things like use BorderFactory to add a decorative border, or change the background color, etc.
Here are some examples of changing some of these properties:
If you want to change a whole bunch of things about their look and feel, it is better to extend your current look and feel with a class implementing custom tooltip look and feel. A full example of this can be found in this blog post by a former Sun developer.
You might also have a look at this Stack Overflow question on how to set the insets on a tooltip.