3

我一直在网上到处寻找,但我没有找到这个小问题的答案。在 Windows 7 中(我认为在 Vista 中)你有一个漂亮的圆形银色工具提示,它看起来比旧的黄色盒装蹩脚的工具提示要好得多。下面的“如何在 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 中看到的那样,我将 Look and Feel 设置为程序当前正在运行的操作系统。如果我在 Windows 上运行这个程序,我会得到糟糕的黄色工具提示。

那么,如果程序在 Windows 操作系统上运行,我必须对代码进行哪些更改才能获得漂亮的银色工具提示?

4

1 回答 1

3

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

对于圆角,请参阅如何创建半透明和异形窗口

异形窗

对于轻微的渐变(斜视),使用GradientPaint.

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


实现效果的最佳方式是通过基于Synth Look and Feel的自定义 PLAF 。

创建自定义外观或修改现有外观可能是一项艰巨的任务。该javax.swing.plaf.synth软件包可用于轻松创建自定义外观和感觉。您可以通过编程方式或通过使用外部 XML 文件来创建 Synth 外观。

于 2012-06-23T06:41:57.433 回答