就像QQ一样,双击托盘后显示窗体,任务栏没有显示。
现在给JFrame加上托盘了,显示窗体后,任务也有显示,如果开多个窗体的话,任务栏就满了。

解决方案 »

  1.   

    import java.awt.AWTException;
    import java.awt.Image;
    import java.awt.MenuItem;
    import java.awt.PopupMenu;
    import java.awt.SystemTray;
    import java.awt.Toolkit;
    import java.awt.TrayIcon;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;/**
    *
    */
    public class SystemTrayTester {private static SystemTray st;
    private static PopupMenu pm;public static void main(String[] args) {if (SystemTray.isSupported()) {// 判断当前平台是否支持系统托盘
    st = SystemTray.getSystemTray();
    Image image = Toolkit.getDefaultToolkit().getImage(
    SystemTrayTester.class.getResource("nimrodlf.JPG"));// 定义托盘图标的图片
    createPopupMenu();
    TrayIcon ti = new TrayIcon(image, "Desktop Demo Tray", pm);
    try {
    st.add(ti);
    } catch (AWTException ex) {
    ex.printStackTrace();
    }
    }
    }public static void createPopupMenu() {pm = new PopupMenu();
    MenuItem openBrowser = new MenuItem("Open My Blog");
    openBrowser.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// openBrowser("http://hi.baidu.com/riffling/blog");
    }
    });MenuItem sendMail = new MenuItem("Send Mail to me");
    sendMail.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// sendMail("mailto:[email protected]");
    }
    });MenuItem edit = new MenuItem("Edit Text File");
    sendMail.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// edit();
    }
    });MenuItem exitMenu = new MenuItem("&Exit");
    exitMenu.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.exit(0);
    }
    });
    pm.add(openBrowser);
    pm.add(sendMail);
    pm.add(edit);
    pm.addSeparator();
    pm.add(exitMenu);
    }}
      

  2.   

    以上说得对,但必须得jdk1.6以上才支持
      

  3.   

    窗口使用JWindow和JDialog,不使用JFrame就不会在任务栏有图标了
    再加上楼上的SystemTray