如何在Java中创buildWindows 7 Tooltip?

我一直在网上查找,但我没有find这个小问题的答案。 在Windows 7(和Vista中,我认为,)你有一个不错的圆形silverlight外观工具提示,看起来比旧的黄色盒装蹩脚的看起来方式更好。 下面的“如何在Java中创buildWindows 7工具提示 – 堆栈溢出”是如何出现的。

在这里输入图像说明

所以在Java中,我想要做到这一点,使新的Windows工具提示。 问题是我不知道如何。

以下简单代码之外是一个简单的创build这个类的工具提示对象的主要方法。

import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class Tooltip extends JFrame { public Tooltip() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { e.printStackTrace(); } setLayout(new FlowLayout()); JButton button = new JButton("Tooltip Button"); button.setToolTipText("Tooltip"); add(button); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(250, 160); } } 

正如您在try / multi catch中看到的那样,我将Look and Feel设置为程序当前正在运行的操作系统。 如果我在Windows上运行这个程序,我会得到黄色的工具提示。

那么,我必须对代码做些什么改变,以便在Windows操作系统上运行该程序时,我将获得一个漂亮的silverlight工具提示?

您可能需要为此使用基于JWindow的组件,就像我在“ 预览”窗口的回答(如Windows 7任务栏显示打开的应用程序)中一样 。

有关圆角,请参阅如何创建半透明和成形的Windows 。

形状的窗口

对于轻微的渐变(斜线),使用GradientPaint绘画来绘制BG。

工具提示提供了一个不包含在链接的简单示例中的功能。 但这是一个起点。 确保您不会意外地将Windows 7样式工具提示放置到Windows 7用户或其他操作系统的用户之前。 以同样的方式,你觉得'方块/黄色BG'工具提示冲突,他们不会觉得冲突的风格是'漂亮'。 这导致..


实现效果的最好方法是通过基于“合成器外观和感觉”的自定义PLAF。

创建自定义外观和修改现有外观可能是一项艰巨的任务。 javax.swing.plaf.synth包可以用来创建一个自定义的外观和感觉,而不需要太多的工作。 您可以通过编程或通过使用外部XML文件来创建Synth外观。