我编写了一个应用程序,现在正在制作一个托盘图标。现在我想为托盘图标设置多行工具提示文本。但我不知道怎么办。我知道如何使用 Swing 做到这一点:
component.setToolTipText("<html>Line 1<br>Line2</html>");
但这不适用于 AWT。另外,通过 \n
分隔行也不起作用。
我在 Linux 上运行:
Ubuntu 10.04
Kernel Linux 2.6.32-22-generic
GNOME 2.30.0
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-0ubuntu1)
OpenJDK Server VM (build 14.0-b16, mixed mode)
任何帮助将不胜感激。
谢谢
最佳答案
以下代码为我生成了一个完美的多行工具提示:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
public class AWTScratch {
public static void main(String[] args) {
BufferedImage im = new BufferedImage(32, 32, BufferedImage.TYPE_INT_RGB);
TrayIcon ti = new TrayIcon(im, "Multiline\nmulti");
ti.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
ti.setImageAutoSize(true);
if (SystemTray.isSupported()){
SystemTray st=SystemTray.getSystemTray();
try {
st.add(ti);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
}
}
也许是平台问题。你能给我们你的操作系统和jvm版本吗?好像是个bug,看里面suns bug database .
关于Java:如何使用AWT显示多行工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2892414/