- Runntime类的实践应用
- 自己DIY一个快捷工具托盘
例如:打开各种系统工具、定时关机、重启、睡眠、文件操作等
步骤:
- 获得Runtime对象
- 创建系统托盘
- 创建托盘菜单
- 给菜单绑定命令
注意事项:
- 注意修改图标路径,否则生成的托盘没有图标
- eclipse环境运行的时候可能会出现乱码问题,改变运行环境配置中的编码可以解决
- 本例会创建一个文本文件,请自行删除
- 本例只体现基本思路,如有需要请自行扩展完善
- 菜单生成的顺序可能是乱序,因为使用的是map,遍历出来的是无序的
- 可以加多级菜单 对菜单进行分类,这样用户体验会好些
- 可以打成jar包 或者 exe,方便平时使用
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; import java.util.TreeMap; /** * 系统工具快捷托盘 */ public class SystemToolsTray { public static Runtime rt; public static Map<String,String> commandMap=new TreeMap<String, String>(); public static void main(String[] args) throws Exception { rt=Runtime.getRuntime(); //java运行环境实例 SystemTray tray = SystemTray.getSystemTray(); //创建系统托盘 PopupMenu trayMenu= new PopupMenu(); //创建托盘右键菜单 //初始化命令库 commandMap.put("calculator", "calc"); commandMap.put("notepad", "notepad"); commandMap.put("Task Manager", "taskmgr"); commandMap.put("drawing tools", "mspaint"); commandMap.put("open QQ", "D:\\Program Files (x86)\\Tencent\\QQ\\Bin\\QQ.exe"); commandMap.put("create file", "cmd /c echo 这是我创建的文件哦/>d:\\mysql.txt"); commandMap.put("access file", "cmd /c d:\\mysql.txt"); commandMap.put("scheduled shutdown", "shutdown -s -t 6000"); commandMap.put("cancel shutdown", "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("EXIT"); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); trayMenu.add(exitItem); Image image = Toolkit.getDefaultToolkit().getImage("F:\\myfirstsite\\QQ\\ghj.jpg"); //载入图片 TrayIcon trayIcon = new TrayIcon(image, "快捷工具", trayMenu); //创建trayIcon tray.add(trayIcon); } }
相关推荐
NULL 博文链接:https://txterran.iteye.com/blog/1811249
JAVA应用系统工具快捷托盘实例代码,需要的朋友可以参考一下
尚学堂·百战程序员团队自豪地推出基于Java的QQ屏幕截图工具项目,这是一款功能强大、操作简便的屏幕截图工具,旨在帮助用户快速捕捉屏幕上的内容,并进行编辑和分享。该项目采用Java语言开发,结合了先进的图像处理...
1.1版 ---重做了界面,按钮全做成工具栏 ---把1.0版中几个TXT文件合并到一个XML文档中 ---添加了系统托盘 ---可增加,删除以及自定义程序类别 ---修正了添加空项目的错误 ---修正了添加零元素约束...
(5)在“项目资源管理器”中选择项目名称节点,在工具栏上单击“”按钮中的黑三角,在弹出的快捷菜单中选择“运行方式”/“在服务器上运行”菜单项,将打开“在服务器上运行”对话框,在该对话框中,选中“将服务器...
下载控制:你可以为每个页面设置是否需要在网页中载入图片,声音,Script文件, Java Applet, ActiveX。你可以关闭图片来加快下载的速度。 脱机浏览:使用文件/脱机工作 可以在未联网的情况下浏览以前访问过的历史...
软件可最小化到计算机右下脚的托盘中不影响用户进行其他操作,一旦来电,自动弹出小窗口,并捕捉来 电进行订单录入操作 客户资料导入和导出 正式版软件可将客户资料直接导入本软件,免去录入资料的步骤。有权限的...
Notepad2 是一个外观类似系统记事本的文本编辑工具,但比记事本有了很大的增强。 特点: --自定义语法高亮, 支持 HTML, XML, CSS, JavaScript, VBScript, ASP, PHP, CSS, Perl/CGI, C/C++, C#, Java, VB, Pascal, ...
可运行于多种操作平台(Win/Mac/UNIX/Java), 并实现跨平台信息交流. - 不需要服务器支持. - 支持文件/文件夹的传送 (2.00版以上) - 通讯数据采用 RSA/Blofish 加密 (2.00版以上) - 十分小巧, 简单...
为实现静态编译,易语言编译器、核心支持库、集成开发环境(IDE)等均有重大更新,支持库开发架框有扩展性调整,绝大多数官方支持库都已针对静态编译完成自身改造并提供静态库。 目前绝大多数官方支持库均已支持...
2.1.3 .NET与Java 有些类似 .......... 21 2.1.4 现在所处的阶段 .................... 22 2.2 为Windows 编写软件 ............... 22 2.2.1 .NET Framework类 ............... 23 2.2.2 执行代码 .......