【问题标题】:Java: How to display a multi-line ToolTip with AWT?Java:如何使用 AWT 显示多行工具提示?
【发布时间】:2010-05-23 15:55:32
【问题描述】:

我写了一个应用程序,现在我正在制作一个托盘图标。现在我想为托盘图标设置一个多行工具提示文本。但我不知道怎么做。我知道如何用 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)

任何帮助将不胜感激。
谢谢

【问题讨论】:

    标签: java tooltip awt multiline


    【解决方案1】:

    以下代码为我生成了一个完美的多行工具提示:

    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 -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode) $ lsb_release -a 否LSB 模块可用。发行商 ID:Ubuntu 描述:Ubuntu 14.04.5 LTS 版本:14.04 代号:trusty
    【解决方案2】:

    JToolTip 派生自JComponent,但您可以使用Graphics-only 方法自己模拟效果,如此exampleAlphaView 类所示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      相关资源
      最近更新 更多