Swing 摇摆中的花式工具提示

Swing 摇摆中的花式工具提示,swing,jtable,tooltip,jtextarea,Swing,Jtable,Tooltip,Jtextarea,我有一个JTable,我想为列中的特定单元格显示一个奇特的工具提示(基本上是JTextArea)。我使用的是一个自定义单元渲染器,因此,如果我能够在悬停在单元渲染器的组件上时找到如何弹出窗口,那就很容易了 有没有关于如何执行此操作的示例?如果在内容周围使用和标记,则可以 使用HTML设置工具提示的格式。使用彩色()和多行()工具提示现在很容易 创建和覆盖默认的JToolTip有点困难。每个组件都有一个JToolTip实例,您可以使用JComponent.createToolTip()检索这个实

我有一个JTable,我想为列中的特定单元格显示一个奇特的工具提示(基本上是JTextArea)。我使用的是一个自定义单元渲染器,因此,如果我能够在悬停在单元渲染器的组件上时找到如何弹出窗口,那就很容易了

有没有关于如何执行此操作的示例?

如果在内容周围使用
标记,则可以

使用HTML设置工具提示的格式。使用彩色(
)和多行(

)工具提示现在很容易



创建和覆盖默认的
JToolTip
有点困难。每个组件都有一个
JToolTip
实例,您可以使用
JComponent.createToolTip()
检索这个实例。要创建自定义工具提示,请扩展并覆盖它的
createToolTip
,以实现自定义功能(返回自定义扩展版本的
JToolTip
)。

我不确定我是否完全清楚您具体希望做什么样的自定义,因此我在这里只作一般介绍

有一个类控制组件的外观,包括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    
如果您想更改它们的外观,最好使用实现自定义工具提示外观的类来扩展当前的外观。一位前Sun开发人员在这篇博文中可以找到其中的一个例子


您还可以在工具提示中查看此堆栈溢出问题。

酷,我将尝试HTML方法。w/r/t createToolTip:它不应该在JTable上,应该在TableCellRenderer返回的组件上。这可能有一些用处