java的SystemTray跳出提示的代碼?就像xp的網絡連接那樣,連接成功會彈出一個網絡已連接
測試JDK:1.8
測試系統:WIN2003
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
public class SystemTrayDemo
{
public static void main(String[] args)
{
// 判斷是否支持系統托盤
if (SystemTray.isSupported())
{
// 獲取圖片所在的URL
URL url = SystemTrayDemo.class.getResource("console.png");
// 實例化圖像對象
ImageIcon icon = new ImageIcon(url);
// 獲得Image對象
Image image = icon.getImage();
// 創建托盤圖標
TrayIcon trayIcon = new TrayIcon(image);
// 爲托盤添加鼠標適配器
trayIcon.addMouseListener(new MouseAdapter()
{
// 鼠標事件
public void mouseClicked(MouseEvent e)
{
// 判斷是否雙擊了鼠標
if (e.getClickCount() == 2)
{
JOptionPane.showMessageDialog(null, "SystemTrayDemo");
}
}
});
// 添加工具提示文本
trayIcon.setToolTip("本地連接\r\n速度:100.0 Mbps\r\n狀態:已連接上");
// 創建彈出菜單
PopupMenu popupMenu = new PopupMenu();
popupMenu.add(new MenuItem("禁用(D)"));
popupMenu.add(new MenuItem("狀態(S)"));
popupMenu.add(new MenuItem("修復(P)"));
popupMenu.addSeparator();
popupMenu.add(new MenuItem("更改 Windows 防火牆設置(C)"));
popupMenu.addSeparator();
popupMenu.add(new MenuItem("打開網絡連接(O)"));
// 爲托盤圖標加彈出菜彈
trayIcon.setPopupMenu(popupMenu);
// 獲得系統托盤對象
SystemTray systemTray = SystemTray.getSystemTray();
try
{
// 爲系統托盤加托盤圖標
systemTray.add(trayIcon);
// 必須放在添加托盤圖標的後面
// 否則加載進系統托盤之前就已經彈出了(以隱藏的方式運行了)
//
// 彈出消息
trayIcon.displayMessage("Tray Demo", "Hello World!", MessageType.INFO);
}
catch (Exception e)
{
e.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(null, "not support");
}
}
}