网上的代码太复杂,看不太懂,谁能有稍微简单一点的源码能共享一下吗,并且指教一下我怎么用,谢谢!!

解决方案 »

  1.   

    自己随便写了点:import java.awt.*;
    import java.io.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.imageio.ImageIO;public class Test extends JFrame{
    private TrayIcon trayIcon;//托盘图标
    private SystemTray systemTray;//系统托盘
             
    public Test()
    {
    super("系统托盘图标");
    systemTray = SystemTray.getSystemTray();//获得系统托盘的实例 
    setSize(150,150); 
                    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    this.setVisible(true);    
    try {
    trayIcon = new TrayIcon(ImageIO.read(new File("0.gif")));
    systemTray.add(trayIcon);//设置托盘的图标,0.gif与该类文件同一目录
    }
    catch (IOException e1) {e1.printStackTrace();}
    catch (AWTException e2) {e2.printStackTrace();}

    this.addWindowListener(
    new WindowAdapter(){   
    public void windowIconified(WindowEvent e){   
    dispose();//窗口最小化时dispose该窗口 
    }   
    });

    trayIcon.addMouseListener(
    new MouseAdapter(){
    public void mouseClicked(MouseEvent e){
    if(e.getClickCount() == 2)//双击托盘窗口再现
    setExtendedState(Frame.NORMAL);
    setVisible(true);
    }
    });
    }    public static void main(String args[])
    {
    new Test();
    }
    }
    要在jdk1.6下调试,系统托盘是新特性。上面的例子可能还有不周全的,你可以在看看API文档
      

  2.   

    用jni吧,调用系统API,没试过。
      

  3.   

    public void systemTray() {
    try {
    if (java.awt.SystemTray.isSupported()) {// 判断当前平台是否支持系统托盘
    java.awt.SystemTray st = java.awt.SystemTray.getSystemTray();
    Image image = Toolkit.getDefaultToolkit().getImage(
    getClass().getResource("lou.gif"));// 定义托盘图标的图片
    java.awt.TrayIcon ti = new java.awt.TrayIcon(image);
    ti.setToolTip("文件传输工具 ");
    ti.setPopupMenu(this.popupMenu1); // 为托盘添加右键菜单
    st.add(ti);
    }
    } catch (Exception e) { }
    }
    功能比较简单,你可以再适当的修改完善一下