`
fly_hyp
  • 浏览: 305620 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

systemTray例子

    博客分类:
  • Java
阅读更多
package black.dragon.starttool;

import java.awt.AWTException;
import java.awt.Desktop;
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.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * @author whuang
 * 
 * @version 1.0, 2008-5-20 create
 */
public class DesktopTrayRun {
	private static Desktop desktop;
	private static SystemTray st;
	private static PopupMenu pm;

	public static void main(String[] args) {
		if (Desktop.isDesktopSupported()) {// 判断当前平台是否支持Desktop类
			desktop = Desktop.getDesktop();
		}
		if (SystemTray.isSupported()) {// 判断当前平台是否支持系统托盘
			st = SystemTray.getSystemTray();
			Image image = Toolkit.getDefaultToolkit().getImage("testdata/black_dragon1.png");// 定义托盘图标的图片
			createPopupMenu();
			TrayIcon ti = new TrayIcon(image, "Desktop Demo Tray", pm);
			try {
				st.add(ti);
			} catch (AWTException ex) {
				ex.printStackTrace();
			}
		}
	}

	public static void sendMail(String mail) {
		if (desktop != null && desktop.isSupported(Desktop.Action.MAIL)) {
			try {
				desktop.mail(new URI(mail));
			} catch (IOException ex) {
				ex.printStackTrace();
			} catch (URISyntaxException ex) {
				ex.printStackTrace();
			}
		}
	}

	public static void openBrowser(String url) {
		if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
			try {
				desktop.browse(new URI(url));
			} catch (IOException ex) {
				ex.printStackTrace();
			} catch (URISyntaxException ex) {
				ex.printStackTrace();
			}
		}
	}

	public static void edit() {
		if (desktop != null && desktop.isSupported(Desktop.Action.EDIT)) {
			try {
				File txtFile = new File("test.txt");
				if (!txtFile.exists()) {
					txtFile.createNewFile();
				}
				desktop.edit(txtFile);
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
	}

	public static void createPopupMenu() {
		pm = new PopupMenu();
		MenuItem openBrowser = new MenuItem("Open My Blog");
		openBrowser.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				openBrowser("http://blog.csdn.net/chinajash");
			}
		});

		MenuItem sendMail = new MenuItem("Send Mail to me");
		sendMail.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				sendMail("mailto:chinajash@yahoo.com.cn");
			}
		});

		MenuItem edit = new MenuItem("Edit Text File");
		sendMail.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				edit();
			}
		});

		MenuItem exitMenu = new MenuItem("&Exit");
		exitMenu.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		pm.add(openBrowser);
		pm.add(sendMail);
		pm.add(edit);
		pm.addSeparator();
		pm.add(exitMenu);
	}

}
分享到:
评论
1 楼 mangtong_3377 2009-01-04  
这是从jdk那个版本开始的啊?

相关推荐

    截屏带托盘的例子(java)

    【标题】:“截屏带托盘的例子(java)” 在Java编程中,实现截屏功能以及在系统托盘显示应用程序图标是两个重要的技能。这个例子旨在教你如何在Java中结合这两个特性,提供一个实用且有趣的程序。它不仅可以帮助你...

    系统托盘完整例子,功能完整

    在Codegurn上,开发者们分享了各种代码片段和项目,这个系统托盘的完整例子就是一个很好的学习资源。 系统托盘的应用通常包含以下几个关键组件和功能: 1. **托盘图标**:这是用户与系统托盘进行交互的主要方式。...

    java 托盘小例子

    Java托盘小例子是一个实用的程序,它展示了如何在Java应用程序中实现系统托盘功能。在许多现代桌面应用中,用户界面(UI)通常包含一个托盘图标,允许程序在后台运行并提供快速访问菜单选项,即使窗口已被最小化。在...

    javaQQ实现托盘的小例子

    本文将详细解析如何在Java中利用`java.awt.SystemTray`类实现托盘功能,并通过一个具体示例——JavaQQ实现托盘功能的过程来深入理解其工作原理。 #### 核心知识点:Java SystemTray API `java.awt.SystemTray`是...

    JDK1.6新特性与实战例子

    SystemTray tray = SystemTray.getSystemTray(); Image image = Toolkit.getDefaultToolkit().getImage("icon.png"); PopupMenu menu = new PopupMenu(); MenuItem item1 = new MenuItem("Option 1"); item1....

    wp7调用webservices的例子

    在这个"wp7调用webservices的例子"中,我们将探讨如何在WP7应用程序中集成Web服务调用,以及如何在页面之间进行导航。 首先,要调用Web服务,你需要创建一个代理类,这个类将代表Web服务的接口。在WP7项目中,你...

    Windows系统托盘图标实践(AWT)

    这个例子展示了如何使用AWT在Windows系统中创建托盘图标,并且当用户点击图标时显示一个包含多个选项的PopMenu。每个菜单项都有对应的`ActionListener`,可以处理用户的选择。注意,为了运行这个程序,你需要确保你...

    file:///E:/Users/Administrator/Documents/Java实现托盘管理.docx

    本文将详细介绍如何利用Java的`SystemTray`类来实现这一功能。 首先,要使用Java实现系统托盘,必须确保当前操作系统支持这个特性。这可以通过调用`SystemTray.isSupported()`方法来检查。如果返回`true`,则表示...

    手工清除木马

    以文中提到的例子为例,假设我们遇到一个名为`systemtray.exe`的可疑进程,它表现出异常的行为。我们可以按照以下步骤来处理: 1. **查找systemtray.exe的路径:** 使用`msinfo32`工具查找该进程的路径。 2. **备份...

    最小化到系统栏 pb

    1. **SystemTray 对象**:PowerBuilder 提供了一个名为 `SystemTray` 的对象,可以用来管理和控制系统托盘图标。开发者需要创建 `SystemTray` 对象,并设置其图标(如 `SysTray.ico`),然后将程序窗口关联到这个...

    java创建系统托盘实现(swt和jdk6分别实现)

    通过这两个例子,我们可以看到在SWT和JDK 6中创建系统托盘图标的基本步骤。SWT的实现更简洁,而JDK 6的实现则需要处理更多的细节,如菜单和事件处理。`16.gif` 文件是用于图标显示的图形资源,`swt.jar` 是SWT库的...

    java实现系统托盘示例

    在这个例子中,我们创建了一个`TrayIcon`,设置了它的提示文本和一个包含“打开”菜单项的弹出菜单。当用户点击托盘图标时,会弹出这个菜单,点击“打开”菜单项会触发相应的动作。 请注意,由于不同操作系统可能对...

    程序下标TrayIcon和菜单程序下标TrayIcon和菜单程序下标TrayIcon和菜单程序下标TrayIcon和菜单

    在这个例子中,我们首先检查了系统托盘是否支持,然后创建了一个`TrayIcon`对象,设置了图标和一个包含两个选项的弹出菜单。每个菜单项都有一个事件监听器,当用户选择这些选项时,会触发相应的方法执行。 需要注意...

    TrayIcon系统图标闪动

    这个简单的例子展示了如何创建一个TrayIcon,并使用`displayMessage`方法使其闪动以通知用户。 7. **注意事项**: - 要确保正确处理用户取消闪烁的请求,避免过度使用闪烁,这可能导致用户对应用的满意度降低。 -...

    java实现系统托盘

    在`java实现系统托盘.java`文件中,你可能会看到一个使用`TrayIcon`类的例子。而在`java(JNI)实现系统托盘2.txt`中,文档可能详细解释了JNI实现的各个部分,包括本地方法的定义、C/C++代码的编写和编译过程。 无论...

    Java简单时钟(awt)

    在Java中,`java.awt.SystemTray`类允许程序在操作系统任务栏的系统托盘区域创建一个图标,从而提供了一种持久显示应用程序状态的方式。用户可以单击图标来重新打开或操作程序,即使主窗口已经最小化或关闭。在时钟...

    Java技术核心代码

    在这个例子中,它包含了两个`MenuItem`,分别对应“打开程序”和“退出程序”的操作。 4. **MenuItem**:`java.awt.MenuItem`是用户在菜单中选择的选项。每个`MenuItem`都绑定了一个动作监听器,当用户点击该菜单项...

    java 托盘定时闪烁

    在这个例子中,`sendMail`方法用于发送邮件,而`getLatestMail`方法则用来获取并返回最新的邮件信息。实际应用中,可能需要根据用户账户配置动态设置SMTP服务器地址和凭据。 综上所述,要实现“java 托盘定时闪烁...

    设计windows phone页面主题

    <shell:SystemTray.IsVisible="True" shell:SystemTray.Opacity="0.01" /> ``` 这里,`IsVisible="True"` 设置状态栏可见,而 `Opacity="0.01"` 设置其透明度为几乎完全透明,这样状态栏的颜色就会与上方的主题颜色...

    centos下系统托盘

    在这个例子中,我们创建了一个QSystemTrayIcon对象,设置了应用图标,并为它创建了一个包含“退出”操作的上下文菜单。当用户右键点击托盘图标时,会看到这个菜单。我们还通过信号和槽机制连接了退出操作,当用户...

Global site tag (gtag.js) - Google Analytics