Java应用之快捷工具托盘

来源:互联网 发布:淘宝店手机专享价 编辑:程序博客网 时间:2024/05/16 01:49

 在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多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核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我的头发又少又很油该怎么办 头发油掉发头顶头发稀疏怎么办 我的头发天生就少又细怎么办 头发越来越少怎么办 用什么好呢 头发油掉头发怎么办吃什么药好 生完孩子三个月掉头发很厉害怎么办 电夹板夹头发现在掉头发怎么办 刚剪完的头发前面短后面长怎么办 头发太多太厚怎么办_百度经验 米诺地尔搽剂喷在头皮上痛怎么办 米诺地尔擦了头皮痒怎么办 头发又细又少一天不洗就油怎么办 头又尖头发又细又少不知怎么办 蘑菇头发型留长尴尬期怎么办 月经期间洗了下头量很少了怎么办 宝宝喝了有沐浴露的洗澡水怎么办 4个月宝宝头发长的慢怎么办 宝宝不小心吃了自己拉的屎怎么办 手机不小心弄成耳机模式怎么办 苹果手机不小心按了丢失模式怎么办 苹果手机不小心调成耳机模式怎么办 不小心把图书馆的书弄坏了怎么办 不小心把图书馆书拿出来了怎么办 八个月宝宝吃母乳缺铁怎么办 大头笔写的字褪色了怎么办 小画板用记号笔画了擦不下来怎么办 新换的大灯和原大灯有色差怎么办? 微信信息写好没有发送两字怎么办 3d模型导进去 材质丢失怎么办 3d模型导入材质没了怎么办 淘宝上的电视尺寸与实际不符怎么办 医师面试题号忘了写怎么办 淘宝买东西东西被别人拿走了怎么办 9个月宝宝上肢支撑不好怎么办 宝宝快十一个月了留口水怎么办 两岁宝宝不会自己登着大小便怎么办 小新家的房子被炸了房贷怎么办 怀孕8个月感冒鼻窦炎头疼怎么办 买的全身镜下面的框子坏了怎么办 单位上司姐姐每天要接我上班怎么办 企业微信公众号中的文章边框怎么办