`

JAVA应用 之 快捷工具托盘

    博客分类:
  • java
阅读更多

说明:

    1.本文是 《JAVA基础 之 Runtime》 的实例应用,阅读前建议先访问下面两篇文章

        《JAVA基础 之 Runtime》《windows7 常用简单命令总结》

    2.功能:

           1.打开各种系统工具

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

           3.简单文件操作

 

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 chenxiaoyang
 * 系统工具快捷托盘
 */
public class SystemToolsTray
{
	public static Runtime rt;
	public static Map<String,String> commandMap=new HashMap<String, String>();
	
	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(new ActionListener() {
			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 里面有我博客的地址,欢迎大家访问交流(这个文件记得自己删除哦~)

 

说明:

1.原创文章,转载请标明并加本文连接。

2.更多的文章请访问我的博客 http://snkcxy.iteye.com/

3.文章反映个人愚见,如有异议欢迎讨论指正 

10
3
分享到:
评论
13 楼 snkcxy 2013-03-12  
stephenwang1011 写道

我是设置这个以后我的图片就能显示出来了 但是我打包后又显示不出来了 郁闷 求解答

我建议您使用png格式的图片 尺寸 16*16 我就是这样的图片,无论设置不设置您的那句话都可以出来,普通运行和打包都没有问题。我觉得您的图片不是没出来 是出来了但是显示的样式不对。
12 楼 stephenwang1011 2013-03-12  
snkcxy 写道
stephenwang1011 写道
你的图片是显示不错来的 忘记设置下了看下代码
trayIcon.setImageAutoSize(true);

哦?是么?你改成正确的路径了么?理论上没有这句话 也是应该可以看到的。我发的所有代码都是经过我测试的。我传的是透明背景的png

我是设置这个以后我的图片就能显示出来了 但是我打包后又显示不出来了 郁闷 求解答
11 楼 snkcxy 2013-03-11  
stephenwang1011 写道
你的图片是显示不错来的 忘记设置下了看下代码
trayIcon.setImageAutoSize(true);

这个应该是图片过大时候用的吧?
10 楼 snkcxy 2013-03-11  
stephenwang1011 写道
你的图片是显示不错来的 忘记设置下了看下代码
trayIcon.setImageAutoSize(true);

哦?是么?你改成正确的路径了么?理论上没有这句话 也是应该可以看到的。我发的所有代码都是经过我测试的。我传的是透明背景的png
9 楼 stephenwang1011 2013-03-11  
你的图片是显示不错来的 忘记设置下了看下代码
trayIcon.setImageAutoSize(true);
8 楼 junfengcode 2013-02-22  
学习了,基础最重要
7 楼 ITboss 2013-02-22  
很不错
6 楼 kingwind0726 2013-02-21  
支持,学习一下
5 楼 samwong 2013-02-21  
不错,正需要,哈哈。
4 楼 snkcxy 2013-02-20  
3楼说的完全可以呀 而且也不难实现
呵呵 文章说了 这文章只是一个演示程序(体现的是基本思路),并没有做到很完善,如果喜欢可自行完善。
抛砖引玉~
多谢支持~
3 楼 rex0654335 2013-02-20  
把快捷工具配在配置文件里就更好了。
2 楼 Mr.Cheney 2013-02-20  
很不错哦 学习了
1 楼 snkcxy 2013-02-20  
对了 还有一点一定要注意 关机、重启、睡眠 慎用哦~

相关推荐

    JAVA应用 之 快捷工具托盘++

    "JAVA应用 之 快捷工具托盘++"这个标题暗示我们,它可能是一个Java程序,专注于提供一种桌面快捷工具,能够以系统托盘的形式存在,方便用户快速访问和管理。这种类型的程序通常会集成在操作系统任务栏的右下角,为...

    JAVA应用系统工具快捷托盘实例代码

    SystemTray类属于java.awt包,它允许Java应用程序将图标显示在系统托盘中。用户可以通过点击这些图标来执行特定的任务,比如打开一个应用程序或执行一个系统命令。 程序的核心思路是创建一个菜单(使用PopupMenu类...

    java仿QQ截图工具

    Java仿QQ截图工具是一款基于Java编程语言开发的实用程序,旨在提供类似QQ截图的功能,让用户能够方便快捷地进行屏幕捕获。这款工具的核心亮点在于它的系统托盘集成,允许用户在后台轻松启动和操作截图功能,同时具备...

    trayIcon 托盘工具

    在IT领域,托盘工具(TrayIcon)是一种常见的用户界面设计元素,它允许应用程序在系统托盘(通常位于任务栏右下角)显示图标,从而提供便捷的访问和控制功能。这种技术常用于需要在后台运行或者不占用桌面空间的应用...

    托盘控件源代码很不错

    在IT领域,托盘控件(Tray Icon)是一种常见的用户界面元素,它允许应用程序在系统托盘(通常位于任务栏右下角)显示图标,从而提供便捷的访问和通知功能。"托盘控件源代码很不错"这个标题表明我们讨论的是一个高...

    任务栏右下角显示托盘

    1. 图标显示:托盘区会显示各种应用程序的图标,例如防病毒软件、即时通讯工具、系统状态指示器等。这些图标可以提供实时状态更新,帮助用户了解系统的运行情况。 2. 快捷操作:右键点击托盘区的图标,通常会弹出一...

    Java下类似QQ截图的实现,支持热键,系统托盘

    总的来说,实现一个类似QQ截图的Java应用涉及到多个组件和技术,包括键盘事件监听、屏幕截图、图像处理、系统托盘操作等。通过合理组合和运用这些技术,我们可以创建出一款功能完备且易于使用的截图工具。

    可以将应用程序托盘到任务栏右下角的实用程序

    标题提到的“可以将应用程序托盘到任务栏右下角的实用程序”是一种能够帮助开发者或用户将他们的应用程序最小化到这个区域的工具。 这种实用程序的核心功能在于提供一种方式,使得应用程序在不占用主屏幕空间的情况...

    后台运行系统托盘功能

    3. **设置快捷操作**:系统托盘图标可以关联菜单,用户可以通过右键点击图标来执行一些快捷操作,如打开配置、退出程序等。 4. **提示与通知**:系统托盘图标可以用于显示提醒或通知,例如邮件到达、系统更新等。...

    JAVA打包可执程序.rar

    Launch4j是一个流行的免费工具,它允许开发者将Java应用打包成exe,同时提供了一些配置选项,如指定主类、设置JRE版本、添加快捷方式等。使用Launch4j,你可以定义程序的图标、最小化到系统托盘、处理命令行参数等...

    java编写的金山词霸

    总之,这段Java代码展示了如何使用Java Swing库和AWT工具类库创建一个具备基本GUI界面、事件响应能力以及系统托盘图标显示功能的词典应用。通过对这段代码的分析,我们不仅了解了Java GUI编程的基本框架,还学习了...

    trayicon1.7.9b

    在Java编程领域,系统托盘(System Tray)也被称为通知区域或系统托盘图标,它允许应用程序在操作系统任务栏的右下角显示一个...它使得开发者能够更方便地在Java应用中创建具有系统托盘功能的用户界面,提升用户体验。

    托盘图标(最小化时显示)

    "托盘图标(最小化时显示)"这个主题主要涉及的是当应用程序最小化到任务栏时,如何让它们的图标仍然在托盘区域可见,以便用户可以方便地与这些程序交互。 1. **托盘区域的用途**: - 提供快速访问:用户可以通过...

    Jdic文件包

    它允许Java应用实现诸如系统托盘图标、文件关联、启动菜单项等功能,这些都是传统Java平台所不支持或者支持不足的。`jdic.dll`提供了这些功能的底层实现,使得开发者可以编写更接近原生应用的Java程序。 其次,`...

    Rich Clients with SWING.pdf

    - **系统托盘图标**:JDIC提供了对系统托盘图标的全面支持,允许Java应用像其他原生应用一样使用系统托盘图标进行状态显示或快捷操作。 - **浏览器嵌入**:JDIC支持将Web浏览器直接嵌入到Java应用中,实现浏览器与...

    桌面小闹钟软件+托盘闹钟

    总的来说,桌面小闹钟和托盘闹钟软件是提升个人时间管理能力的有效工具,它们利用现代计算机技术为用户提供方便快捷的提醒服务。"myclock"这一软件代表了这一类应用,用户可以通过下载和使用来体验其功能,实现高效...

    完整版托盘图标支持演示.e.rar

    它允许应用程序在不占据任务栏主工作区的情况下显示状态和提供快捷操作。 2. **托盘图标的功能**: - **状态指示**:显示程序的运行状态,如网络连接、电池电量、音量等。 - **隐藏窗口**:允许程序窗口最小化到...

    一些16*16的小图(gif)适合做系统托盘图标

    这些图标通常用于通知用户应用程序的状态或提供快捷操作。 在IT领域,了解如何适当地设计和使用系统托盘图标是非常重要的。以下是一些相关的知识点: 1. 图标尺寸:系统托盘图标通常遵循特定的尺寸标准,如本例中...

    光驱开、关控制 托盘动态图标 源码 代码

    托盘图标是Windows操作系统中任务栏通知区域的一部分,用于显示程序的状态或提供快捷操作。创建动态托盘图标通常需要使用`Shell_NotifyIcon`函数,它允许程序在托盘区显示、更新或删除图标。动态效果可以通过改变...

    jdic.jar+jdic.dll+tray.dll 下载

    `jdic.jar`通常包含了用于日语处理的字典和解析引擎,为Java应用程序提供日语输入、拼写检查、词汇转换等功能。开发者可以借助这个库来构建具有强大日语支持的应用,例如文本编辑器、翻译工具等。 接下来,`jdic....

Global site tag (gtag.js) - Google Analytics