我写了一个应用程序,现在我正在制作托盘图标。现在我想在托盘图标上设置多行工具提示。但我不知道怎么做。我知道如何用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)
非常感谢任何帮助 感谢
答案 0 :(得分:3)
以下代码为我生成了一个非常精细的多行工具提示:
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();
}
}
}
}
也许是一个平台问题。你能给我们你的OS和jvm版本吗?似乎是一个错误,请参阅suns bug database内部。
答案 1 :(得分:0)
JToolTip
派生自JComponent
,但您可以使用Graphics
- 仅限方法自行模拟效果,如此example类的AlphaView
类所示