您的位置:首页 > 编程语言 > Java开发

java应用程序-系统托盘

2015-12-26 10:19 429 查看
本实例是用来制作应用程序的系统托盘,比如类似qq在窗体的右下角的图标格式。代码直接复制可用。

import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;

import javax.swing.*;

public class SystemTrayDemo extends JFrame{

/**
* 为程序添加系统托盘
*/
private ImageIcon imageIcon;
private TrayIcon trayIcon;
private PopupMenu popMenu;
private MenuItem exit,show;
private SystemTray systemTray;
//构造方法
public SystemTrayDemo() {
if (SystemTray.isSupported()) {   //判断是否支持系统托盘
//以system.png为图片创建图标,图片system.png在你的工程目录下(eclipse中,其它IDE没有测试)
imageIcon = new ImageIcon("images/q.png");
trayIcon = new TrayIcon(imageIcon.getImage());  //创建托盘图标
trayIcon.setToolTip("系统托盘");
popMenu = new PopupMenu();      //创建弹出菜单
//创建菜单项
exit = new MenuItem("退出");
show = new MenuItem("显示主窗体");
//添加到popMenu
popMenu.add(show);
popMenu.add(exit);
trayIcon.setPopupMenu(popMenu);
systemTray = SystemTray.getSystemTray();  //获得托盘对象
try {
systemTray.add(trayIcon);    //添加托盘图标
} catch (AWTException e) {
e.printStackTrace();
}
//添加监听器
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
show.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
showFrame();
}
});
}
}
//显示窗体
public void showFrame() {
setVisible(true);
}

//Main method
public static void main(String[] args) {
JFrame frame = new SystemTrayDemo();
frame.setTitle("使用系统托盘");
frame.setSize(300,200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);   //注意: 不能设置为JFrame.EXIT_ON_CLOSE,否则会直接退出程序

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: