如何在Swing中设置工具提示的背景?

时间:2014-11-13 10:00:29

标签: java swing jtree

我正在开发一个Swing应用程序,我需要在其中显示JTree节点的工具提示。节点表示某些任务,并按顺序在独立线程中运行。我需要根据任务的当前状态更改工具提示。

我在扩展JTree的类中覆盖了getToolTipText(MouseEvent e)方法。这也显示了一个工具提示,但外观&我的应用程序中其他组件的工具提示的感觉与Jtree节点显示的不同。

请参阅附图所需的外观&感觉工具提示。此工具提示在JTabbedPane上设置。 enter image description here

以下是Jtree上显示的工具提示的屏幕截图: enter image description here

我尝试过html标签,但这不起作用。我也试过设置外观&通过使用以下代码感觉Jtree节点工具提示,但这也不起作用。我在下面使用的颜色代码与上面所需工具提示中显示的颜色代码相同:

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);

有人可以告诉我如何设置我的JTree工具提示,如上图所示?

2 个答案:

答案 0 :(得分:4)

您可以在树类中覆盖createToolTip的{​​{1}}方法:

JTree

示例

@Override
public JToolTip createToolTip() 
{
    JToolTip tooltip = super.createToolTip();
    tooltip.setBorder(BorderFactory.createLineBorder(new Color(76,79,83)));
    tooltip.setBackground(new Color(255, 247, 200));  
    return tooltip;
}

答案 1 :(得分:1)

这对我有用

UIManager.put("ToolTip.background", Color.white); UIManager.put("ToolTip.border",new LineBorder(Color.BLACK,1));