`

java实现快捷工具托盘

阅读更多
  1. Runntime类的实践应用
  2. 自己DIY一个快捷工具托盘
    例如:打开各种系统工具、定时关机、重启、睡眠、文件操作等

 

步骤:

  1. 获得Runtime对象
  2. 创建系统托盘
  3. 创建托盘菜单
  4. 给菜单绑定命令

 

注意事项:

  1. 注意修改图标路径,否则生成的托盘没有图标
  2. eclipse环境运行的时候可能会出现乱码问题,改变运行环境配置中的编码可以解决
  3. 本例会创建一个文本文件,请自行删除
  4. 本例只体现基本思路,如有需要请自行扩展完善
    1. 菜单生成的顺序可能是乱序,因为使用的是map,遍历出来的是无序的
    2. 可以加多级菜单 对菜单进行分类,这样用户体验会好些
    3. 可以打成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);  
    }  
} 

 

分享到:
评论

相关推荐

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

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

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

    这个示例程序将演示如何利用Java的AWT库中的SystemTray类来实现在操作系统的托盘区域创建快捷工具。通过这个程序,用户可以快速打开常用的系统工具,如计算器、记事本等,并执行如定时关机这样的系统命令。 首先,...

    java仿QQ截图工具

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

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

    为了实现在系统托盘中的快捷操作,Java提供了`javax.swing.TrayIcon`类,可以将图标添加到操作系统任务栏的系统托盘区。用户点击图标后,可以弹出一个菜单或者执行相应的操作: ```java import javax.swing.*; ...

    trayIcon 托盘工具

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

    任务栏右下角显示托盘

    2. 快捷操作:右键点击托盘区的图标,通常会弹出一个上下文菜单,用户可以通过这个菜单执行快捷操作,比如关闭程序、调整设置、查看日志等。 3. 隐藏图标:对于不常用或不希望常驻任务栏的图标,用户可以选择将其...

    托盘控件源代码很不错

    1. 源代码文件:可能包括C++、C#、Java或其他编程语言的源代码,展示了如何创建和管理托盘控件。 2. 示例应用:一个简单的应用,演示了如何使用这些源代码来创建托盘控件并实现上述功能。 3. 文档:可能包含README或...

    后台运行系统托盘功能

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

    java编写的金山词霸

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

    基于Java的QQ屏幕截图工具的设计与实现【尚学堂·百战程序员】.zip

    尚学堂·百战程序员团队自豪地推出基于Java的QQ屏幕截图工具项目,这是一款功能强大、操作简便的屏幕截图工具,旨在帮助用户快速捕捉屏幕上的内容,并进行编辑和分享。该项目采用Java语言开发,结合了先进的图像处理...

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

    - 在Java中,可以利用`java.awt.SystemTray`和`javax.swing.TrayIcon`类来实现类似的功能。 7. **常见问题**: - 图标丢失:可能是由于系统设置更改或程序错误导致,重启程序或调整系统设置通常可以解决。 - ...

    trayicon1.7.9b

    在Java编程领域,系统托盘(System Tray)也被称为通知区域或系统托盘图标,它允许应用程序在操作系统任务栏的右下角显示一个图标并提供快捷菜单或隐藏的应用程序状态。"trayicon1.7.9b"可能是某个开源库或者框架的...

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

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

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

    - **编程语言**:通常使用C++, C#, Java, Python等语言开发,依赖于相应平台的API来实现托盘图标功能。 - **Windows API**:对于Windows,可以使用`Shell_NotifyIcon`函数进行托盘图标的操作。 - **Qt, .NET ...

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

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

    JAVA打包可执程序.rar

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

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

    为了实现这样的功能,开发者通常会用编程语言(如C#、Java、Python等)编写代码,并使用特定的API(如Windows API)来与操作系统交互。在Windows API中,有专门的函数可以用来创建和管理托盘图标,例如`Shell_...

    飞鸽传书(java版).doc

    ### 飞鸽传书(Java版):关键技术解析与实现 #### 一、开发背景与目标 在信息时代背景下,计算机成为了网络通信的核心设备。随着生活节奏的加快,人们对通信速度的要求日益提高。特别是在局域网内的计算机之间...

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

    4. 图标在软件中的应用:开发者需要将这些图标集成到他们的应用程序中,通常通过编程语言如C++、Java、Python或.NET框架实现。在代码中,他们需要设置图标资源,并处理用户与图标交互的事件,如鼠标点击或悬停。 5....

    matlab开发-SystemRaySetGetSystemTrayConsonyOurComputersDesktop系统

    在MATLAB开发环境中,SystemRaySetGetSystemTrayConsonyOurComputersDesktop系统是一种用于在用户计算机桌面的系统托盘区域实现图标显示和管理的工具。系统托盘,也称为通知区域,位于Windows操作系统任务栏的右侧,...

Global site tag (gtag.js) - Google Analytics