
//创建一个托盘图标对象
TrayIcon icon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(Clock.class.getResource("/javax/swing/plaf/basic/icons/JavaCup16.png")))
//创建d出菜单
PopupMenu menu = new PopupMenu()
//添加一个用于退出的按钮
MenuItem item = new MenuItem("退出")
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0)
}
})
menu.add(item)
//添加d出菜单到托盘图标
icon.setPopupMenu(menu)
SystemTray tray = SystemTray.getSystemTray()//获取系统托盘
tray.add(icon)//将托盘图表添加到系统托盘
}
在项目根下新建resources目录,然后把resources目录加到Build Path里。把images\icon.png放到resources目录下。
TrayIcon trayIcon = new TrayIcon(ImageIO.read(getClass().getClassLoader().getResource("images/icon.png")))
java最小化到系统托盘
2010-09-06 15:32
package test
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.awt.event.MouseAdapter
import java.awt.event.MouseEvent
import java.awt.event.WindowAdapter
import java.awt.event.WindowEvent
import javax.swing.ImageIcon
import javax.swing.JFrame
import javax.swing.JPanel
import javax.swing.SwingUtilities
public class MyTray {
TrayIcon trayIcon//
托盘图标,但不是
Image
类型的
哦
SystemTray Tray//
系统托盘
Image
img=(new
ImageIcon("images/icon.png")).getImage()//
托盘图标,建
议使用较小的图片
public MyTray(){
final JFrame frame=new JFrame()
JPanel jp=new JPanel()
frame.add(jp)
frame.setSize(320,240)
frame.setLocationRelativeTo(null)
frame.setResizable(false)
frame.setIconImage(img)//
设置窗口左上角的图标
frame.setVisible(true)
Tray=SystemTray.getSystemTray()//
获得系统托盘实例
//
创建系统托盘的右键d出菜单
PopupMenu pm=new PopupMenu()
MenuItem mi0=new MenuItem("Open")
MenuItem mi1=new MenuItem("Close")
pm.add(mi0)
pm.add(mi1)
trayIcon=new TrayIcon(img,"",pm)//
创建托盘图标实例
trayIcon.setImageAutoSize(true)//
图标自动适应托盘,也就是说它自动
改变大小
trayIcon.setToolTip(" ")//
设置提示语
//
添加系统托盘图标
frame.addWindowListener(new
WindowAdapter()
{//
当“关闭”窗口时,最
小化到系统托盘
public void windowClosing(WindowEvent e) {
try {
Tray.add(trayIcon)
} catch (AWTException exc) {
exc.printStackTrace()
}
}})
mi0.addActionListener(new ActionListener(){ //
右键d出菜单的事件
监听
public void actionPerformed(ActionEvent e) {
frame.setExtendedState(JFrame.NORMAL)
frame.setVisible(true)
Tray.remove(trayIcon)
}
})
mi1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0)
Tray.remove(trayIcon)//
退出程序,移出系统托盘处的图标
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)