您当前位置:设计在线网 >> JavaScript >> 浏览文章

java如何实现系统托盘

分享到:
本文章讲述了java如何实现系统托盘.

今天看

API无意中发现了一个jdk1.6新增的SystemTray类,才想起:是哦,java怎么实现系统托盘呢?

桌面的系统托盘即当程序最小化或者关闭按钮程序并没有退出,而是最小化在任务状态区域(Windows系统),当鼠标点击那个区域所在的图标有提示以及其他的操作。在 Microsoft Windows 上,它被称为“任务栏状态区域 (Taskbar Status Area)”,在 Gnome 上,它被称为“通知区域 (Notification Area)”,在 KDE 上,它被成为“系统托盘 (System Tray)”。系统托盘由运行在桌面上的所有应用程序共享。

jdk1.6 中新增了两个类来实现:

SystemTray

和 TrayIcon,以下为详细介绍:

SystemTray

类介绍:

在某些平台上,可能不存在或不支持系统托盘,所以要首先使用SystemTray.isSupported()来检查当前的系统是否支持系统托盘

SystemTray

可以包含一个或多个

TrayIcon

,可以使用

add(java.awt.TrayIcon)

方法将它们添加到托盘,当不再需要托盘时,使用

remove(java.awt.TrayIcon)

移除它。

TrayIcon

由图像、弹出菜单和一组相关侦听器组成。

每个 Java 应用程序都有一个

SystemTray

实例,在应用程序运行时,它允许应用程序与桌面系统托盘建立连接。

SystemTray

实例可以通过getSystemTray

()

方法获得。应用程序不能创建自己的

SystemTray

实例。

TrayIcon类介绍:

TrayIcon

对象表示可以添加到

系统托盘

的托盘图标。

TrayIcon

可以包含工具提示(文本)、图像、弹出菜单和一组与之关联的侦听器。

TrayIcon

可以生成各种

MouseEvent

,并支持添加相应的侦听器,以接收这些事件的通知。

TrayIcon

可以自己处理一些事件。例如,默认情况下,在

TrayIcon

上单击鼠标右键时,它将显示指定的弹出菜单。当鼠标悬停到

TrayIcon

上时,它将显示工具提示。

如:

TrayIcon(Image image, String tooltip, PopupMenu popup)

创建带指定图像、工具提示和弹出菜单的

TrayIcon

这是下面代码当鼠标放在这个“OK”上的提示

点击浏览下一页

这是下面代码当鼠标右键点击“OK”上的显示

点击浏览下一页

测试代码如下(注:jdk1.6):

点击浏览下一页

import java.awt.AWTException;

点击浏览下一页

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.awt.event.MouseEvent;

点击浏览下一页

import java.net.URL;

点击浏览下一页

import javax.swing.ImageIcon;

点击浏览下一页

import javax.swing.JFrame;

点击浏览下一页

import javax.swing.JLabel;

点击浏览下一页

点击浏览下一页

public class SystemTrayDemo extends JFrame

点击浏览下一页

{

点击浏览下一页

private TrayIcon trayIcon = null;

点击浏览下一页

点击浏览下一页

public SystemTrayDemo()

点击浏览下一页

{

点击浏览下一页

this.setTitle("系统托盘的例子");

点击浏览下一页

jbInit();

点击浏览下一页

this.setSize(200, 250);

点击浏览下一页

this.setLocation(300, 300);

点击浏览下一页

}

点击浏览下一页

点击浏览下一页

public void jbInit()

点击浏览下一页

{

点击浏览下一页

点击浏览下一页

if(SystemTray.isSupported())

点击浏览下一页

{ //检查当前系统是否支持系统托盘

点击浏览下一页

SystemTray tray = SystemTray.getSystemTray();//获取表示桌面托盘区的 Sy

推荐阅读:
简述基于java中final的意义
Without SSH/JSP/Servlet Java经验分享
java编码Unicode研究
推荐文章  
赞助商链接  
热门排行  
主题推广  
中国设计在线网 All Rights Reserved. 互联网违法和不良信息举报
信息产业部备案号:湘ICP备09001063号