Java应用之快捷工具托盘

 在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请登陆疯狂java培训官网。

  1.打开各种系统工具

  2.定时关机(重启、睡眠未实现 请参照上面两个文章自行扩展)

  3.简单文件操作

  [java]

  package com.cxy.f;

  import java.awt.Image;

  import java.awt.MenuItem;

  import java.awt.PopupMenu;

  import java.awt.SystemTray;

  import java.awt.Toolkit;

  import java.awt.TrayIcon;

  import java.awt.event.ActionEvent;

  import java.awt.event.ActionListener;

  import java.io.IOException;

  import java.util.HashMap;

  import java.util.Map;

  * @author cxy

  * 系统工具快捷托盘

  public class SystemToolsTray

  {

  public static Runtime rt;

  public static Map commandMap=new HashMap();

  public static void main(String[] args)throws Exception

  {

  rt=Runtime.getRuntime(); //java运行环境实例

  SystemTray tray =SystemTray.getSystemTray(); //创建系统托盘

  PopupMenu trayMenu= new PopupMenu(); //创建托盘右键菜单

  //初始化命令库

  commandMap.put("计算器", "calc");

  commandMap.put("记事本", "notepad");

  commandMap.put("任务管理器", "taskmgr");

  commandMap.put("画图工具", "mspaint");

  commandMap.put("打开QQ", "C:\\Program Files (x86)

  \\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");

  commandMap.put("创建文件", "cmd /c echo 请关注我的博客

  http://snkcxy.iteye.com/>d:\\cxyCommandShow.txt");

  commandMap.put("访问文件", "cmd /c d:\\cxyCommandShow.txt");

  commandMap.put("定时关机", "shutdown -s -t 600");

  commandMap.put("取消关机", "shutdown -a");

  //自动生成托盘右键菜单并绑定事件(执行命令)

  for(final String one : commandMap.keySet())

  {

  MenuItem item = new MenuItem(one);

  item.addActionListener(new ActionListener(){

  public void actionPerformed(ActionEvent e){

  try

  {

  rt.exec(commandMap.get(one));

  } catch (IOException e1)

  {

  e1.printStackTrace();

  }

  }

  });

  trayMenu.add(item);

  }

  MenuItem exitItem = new MenuItem("退出");

  exitItem.addActionListener(newActionListener() {

  public void actionPerformed(ActionEvent e){

  System.exit(0);

  }

  });

  trayMenu.add(exitItem);

  Image image =Toolkit.getDefaultToolkit().getImage("src/com/cxy/f/play.png"); //载入图片

  TrayIcon trayIcon = new TrayIcon(image,"快捷工具", trayMenu); //创建trayIcon

  tray.add(trayIcon);

  }

  }

  注意:

  1.记得改成自己的图标路径,否则生成的托盘没有图标(好似没效果)

  2.eclipse环境运行的时候可能会出现乱码问题,改变运行环境配置中的编码可以解决。

  3.由于只是一个演示程序(体现的是基本思路),并没有做到很完善,如果喜欢可自行善

  a.菜单生成的顺序可能是乱序,因为使用的是map,遍历出来的是无序的。

  b.可以加多级菜单 对菜单进行分类,这样用户体验会好些。

  c.可以打成jar包或者 exe 方便平时使用。

  d.其他用户体验 和性能方面的完善。(这里就不具体说了)

  4.如果有时间的话我会将这个程序完善,并打成jar包供大家使用。

  5.例子中会创建一个文本文件 路径是:d:\\cxyCommandShow.txt 里面有我博客的地址,欢迎大家访问交流(这个文件记得自己删除哦~)

  疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受Java的魅力,激发你对于编程的热爱,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值