#眉標=Java #副標=Java SE 6.0系列 #大標=系統紙匣(2) #作者=文/黃嘉輝 ============= [程式1] // 建立紙匣圖示,但不要設定突顯式選單 TrayIcon trayIcon = new TrayIcon(image, "Tray Demo"); // 設定圖像是否為自動調整大小 trayIcon.setImageAutoSize(true); ================ ==程式2 =========== // 建立Swing突顯式選單 JPopupMenu popup = new JPopupMenu(); // 建立紙匣圖示的滑鼠Listener trayIcon.addMouseListener(new MouseAdapter() { // 待按下滑鼠按鍵則顯示JPopupMenu public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) { popup.setLocation(e.getX(), e.getY()); popup.setInvoker(jpopupmenu); popup.setVisible(true); } } // 待釋放滑鼠按鍵則顯示JPopupMenu public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { popup.setLocation(e.getX(), e.getY()); popup.setInvoker(jpopupmenu); popup.setVisible(true); } } }); ================ ==程式3 =========== // 建立Swing突顯式選單 JPopupMenu popup = new JPopupMenu(); // 建立紙匣圖示的滑鼠Listener trayIcon.addMouseListener(new MouseAdapter() { // 待按下滑鼠按鍵則顯示JPopupMenu public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) { popup.show(jpopupmenu, e.getX(), e.getY()); } } // 待釋放滑鼠按鍵則顯示JPopupMenu public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { popup.show(jpopupmenu, e.getX(), e.getY()); } } }); ================ ==程式4 =========== [環境變數] JDIC_PACKAGER_JAVAHOME=C:\jdk1.6.0\jdic CLASSPATH=%CLASSPATH%;C:\jdk1.6.0\jdic\jdic.jar; C:\jdk1.6.0\jdic\packager.jar PATH=%PATH%;C:\jdk1.6.0\jdic\jdic.dll; C:\jdk1.6.0\jdic\tray.dll;C:\jdk1.6.0\jdic\WinMsiWrapper.dll ================ ==程式5 box>=========== public TrayIcon(javax.swing.Icon image) public TrayIcon(javax.swing.Icon image, String caption) public TrayIcon(javax.swing.Icon image, String caption, JPopupMenu popup) ================ ==程式6 =========== import org.jdesktop.jdic.tray.*; ... // 取得系統紙匣區域 SystemTray systemTray = SystemTray.getDefaultSystemTray(); // 建立突顯式選單 JPopupMenu jpopupmenu = new JPopupMenu(); ... // 建立紙匣圖示 TrayIcon trayIcon = new TrayIcon(new ImageIcon(...)); // 設定紙匣圖示之標題 trayIcon.setCaption("JDIC System Tray Icon"); // 設定紙匣圖示之突顯式選單 trayIcon.setPopupMenu(jpopupmenu); // 設定圖像是否為自動調整大小 trayIcon.setIconAutoSize(true); // 紙匣圖示之使用提示說明 trayIcon.setToolTip("JDIC System Tray Icon"); // 建立紙匣圖示的動作Listener trayIcon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ... } }); //將TrayIcon加入SystemTray之中 systemTray.addTrayIcon(trayIcon);================