我一直在网上寻找无处不在,但找不到这个小问题的答案.在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.