如何让java程序最小化至系统托盘
2013-04-30 09:34
441 查看
下面的这个程序简单地实现了把java应用程序缩小到托盘的方法.
程序运行的jdk要是1.6才行,因为这是J2SDK1.6新加的一些类和方法.
程序中实测必须是16*16的图片才行
程序运行的jdk要是1.6才行,因为这是J2SDK1.6新加的一些类和方法.
程序中实测必须是16*16的图片才行
import java.awt.*; import java.io.*; import javax.swing.*; import java.awt.event.*; import javax.imageio.ImageIO; public class Test extends JFrame{ private TrayIcon trayIcon;//托盘图标 private SystemTray systemTray;//系统托盘 public Test() { super("系统托盘图标"); systemTray = SystemTray.getSystemTray();//获得系统托盘的实例 setSize(150,150); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); try { trayIcon = new TrayIcon(ImageIO.read(new File("0.gif"))); systemTray.add(trayIcon);//设置托盘的图标,0.gif与该类文件同一目录 } catch (IOException e1) {e1.printStackTrace();} catch (AWTException e2) {e2.printStackTrace();} this.addWindowListener( new WindowAdapter(){ public void windowIconified(WindowEvent e){ dispose();//窗口最小化时dispose该窗口 } }); trayIcon.addMouseListener( new MouseAdapter(){ public void mouseClicked(MouseEvent e){ if(e.getClickCount() == 2)//双击托盘窗口再现 setExtendedState(Frame.NORMAL); setVisible(true); } }); } public static void main(String args[]) { new Test(); } }
package awt; import java.awt.AWTException; 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; public class TrayDemo extends JFrame { private TrayIcon trayIcon = null; // 托盘图标 private SystemTray tray = null; // 本操作系统托盘的实例 public static TrayDemo trayDemo = new TrayDemo(); private TrayDemo() { init(); } public void init() { if (SystemTray.isSupported()) { // 如果操作系统支持托盘 this.tray(); } this.setSize(300, 200); this.setResizable(false); // 窗口关闭时触发事件 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } public void windowIconified(WindowEvent e) { try { tray.add(trayIcon); // 将托盘图标添加到系统的托盘实例中 //setVisible(false); // 使窗口不可视 dispose(); } catch (AWTException ex) { ex.printStackTrace(); } } }); } private void tray() { tray = SystemTray.getSystemTray(); // 获得本操作系统托盘的实例 ImageIcon icon = new ImageIcon("images/30.gif"); // 将要显示到托盘中的图标 PopupMenu pop = new PopupMenu(); // 构造一个右键弹出式菜单 MenuItem show = new MenuItem("打开程序(s)"); MenuItem exit = new MenuItem("退出程序(x)"); pop.add(show); pop.add(exit); trayIcon = new TrayIcon(icon.getImage(), "车辆管理系统", pop); /** * 添加鼠标监听器,当鼠标在托盘图标上双击时,默认显示窗口 */ trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { // 鼠标双击 tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标 setExtendedState(JFrame.NORMAL); setVisible(true); // 显示窗口 toFront(); } } }); show.addActionListener(new ActionListener() { // 点击“显示窗口”菜单后将窗口显示出来 public void actionPerformed(ActionEvent e) { tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标 setExtendedState(JFrame.NORMAL); setVisible(true); // 显示窗口 toFront(); } }); exit.addActionListener(new ActionListener() { // 点击“退出演示”菜单后退出程序 public void actionPerformed(ActionEvent e) { System.exit(0); // 退出程序 } }); } /** * 显示信息 */ // 返回单一的实例对象 public static TrayDemo getInstanceTrayDemo() { return trayDemo; } // 处理窗口事件 }
相关文章推荐
- java程序如何实现右下角系统托盘图标显示
- Winform---如何把程序最小化到系统托盘里
- AIR程序如何最小化到系统托盘(2)
- AIR程序如何最小化到系统托盘(3)
- C#开发WinForm程序如何实现程序最小化到系统托盘
- 如何使程序最小化时出现在系统托盘中(C#)
- 如何让指定程序启动一个Android系统中的Java进程
- VC++MFC对话框应用程序实现程序最小化到系统托盘
- VC++如何实现最小化到系统托盘
- VC 制作系统托盘程序实现将窗口最小化到系统托
- 转载:MFC程序最小化到系统托盘
- <<< java如何调用系统程序
- [C#]如何让窗口最小化到系统托盘(右下角的小图标)
- 启动程序时如何才可以最小化到托盘区
- Delphi中如何让窗口最小化至系统托盘
- MFC程序最小化到系统托盘
- 如何将窗口最小化到系统托盘
- MFC程序最小化到系统托盘
- C#winform中怎么将程序最小化到系统托盘
- C#winform中怎么将程序最小化到系统托盘