如何使用Java制作Windows 7工具提示

我一直在网上寻找无处不在,但找不到这个小问题的答案.在Windows 7(我认为在Vista中)中,您会看到一个漂亮的圆形银色工具提示,看起来比旧的黄色盒装cr脚的外观要好得多.下面的“如何在Java中制作Windows 7工具提示-堆栈溢出”提示是它的显示方式.

因此,在Java中,我想做到这一点,制作漂亮的Windows新工具提示.问题是我不知道该怎么办.

在下面的简单代码之外,是一个主要方法,该方法简单地创建此类“工具提示”的对象.

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中所看到的,我将外观设置为程序当前正在运行的操作系统.如果我要在Windows上运行该程序,则会得到黄色的提示.

因此,我必须对代码进行哪些更改,以便在程序运行于Windows操作系统上时获得很好的提示信息?

解决方法:

为此,您可能需要使用基于JWindow的组件,如我对Preview window (like Windows 7 taskbar shows for opened applications)的回答.

有关圆角,请参见How to Create Translucent and Shaped Windows.

对于轻微的渐变(斜眼),请使用GradientPaint喷涂BG.

工具提示提供了该简单示例链接中未包含的功能.但这是一个起点.确保您不会意外地将Windows 7样式的工具提示放到Windows 7用户或其他OS用户之前.就像您感觉到“方形/黄色BG”工具提示冲突一样,他们不会发现这种冲突样式是“漂亮的”.这导致..

达到此效果的最佳方法是通过基于The Synth Look and Feel的自定义PLAF.

Creating a custom look and feel, or modifying an existing one, can be a daunting task. The javax.swing.plaf.synth package can be used to create a custom look and feel with much less effort. You can create a Synth look and feel either programatically or through the use of an external XML file.

上一篇:如何在Java Swing中获取工具提示文本字符串的宽度?


下一篇:Dynamics 365新特性介绍:在视图中显示图片和提示