我有一个JTable,我想为列中的特定单元格显示一个花哨的工具提示(基本上是一个JTextArea)。我正在使用自定义单元格渲染器,因此当我将鼠标悬停在单元格渲染器的组件上时,如果能够弄清楚如何弹出窗口,这将很容易。
有没有如何做到这一点的例子?
答案 0 :(得分:4)
如果您在内容周围使用<html>
和</html>
标记,则可以use HTML in tooltips。
使用HTML格式化工具提示。使用彩色(<font>
)和多行(<br>
)工具提示现在很容易。
创建和覆盖默认的JToolTip
有点困难。每个组件都有一个JToolTip
实例,您可以使用JComponent.createToolTip()
检索此实例。要创建自定义工具提示,请扩展cell renderer并覆盖它createToolTip
以实现自定义功能(返回JToolTip
的自定义扩展版本。)
答案 1 :(得分:3)
我不确定我是否完全清楚你希望做什么样的定制,所以我会在这里一般。
有一个类UIManager,用于控制组件的外观,包括swing ToolTip类。进行简单更改的简单方法是在UIManager中调用方法来设置工具提示的属性。这样做你可以做一些事情,比如使用BorderFactory来添加装饰边框,或者改变背景颜色等。
以下是更改其中一些属性的一些示例:
UIManager.put("ToolTip.background", new ColorUIResource(255, 247, 200)); // The color is #fff7c8.
Border border = BorderFactory.createLineBorder(new Color(76,79,83)); // The color is #4c4f53.
UIManager.put("ToolTip.border", border);
ToolTipManager.sharedInstance().setDismissDelay(15000);// 15 seconds
如果您想更改大量关于其外观和感觉的内容,最好使用实现自定义工具提示外观的类来扩展您当前的外观。其中full example可以在此博客文章中找到前Sun开发人员。
您可能还会在工具提示上查看how to set the insets上的此Stack Overflow问题。