- 浏览: 305067 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
popotang:
关注raphael,从中学习一下
基于jquery, raphael的WEB流程设计器 -
Getwaysun:
拜读了,写得非常好
iframe跨域session丢失问题 -
chen4w:
good!
Geoserver & Openlayers 学习笔记 -
holysky:
Caused by: org.springframework. ...
Spring对属性文件加密解密应用 -
holysky:
希望能解决一下!
Spring对属性文件加密解密应用
实现系统托盘图标,借用dll动态链接库,用JAVA JNI实现。
JDK6.0的系统托盘的雏形是个开源的JDIC,实现原理就是不同的系统调用不同的JNI不是像LZ那样想的,可以在任何平台上跑,所以也是分支持不支持的,LZ可以用JDK1.6或JDI。
import java.awt.AWTException; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.UIManager; /** * Java1.6.0实现系统托盘技术演示 */ public class TrayDemo extends JFrame { private JPanel pane = null; private JButton button = null; // 启动托盘图标的按钮 private JLabel label = null; // 用来显示系统是否支持托盘的信息 private TrayIcon trayIcon = null; // 托盘图标 private SystemTray tray = null; // 本操作系统托盘的实例 public TrayDemo() { super("Java1.6.0托盘技术演示"); try { // 将LookAndFeel设置成Windows样式 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception ex) { ex.printStackTrace(); } pane = new JPanel(); button = new JButton("缩小到托盘"); button.setEnabled(false); label = new JLabel("本操作系统不支持托盘"); pane.add(label); pane.add(button); if(SystemTray.isSupported()){ // 如果操作系统支持托盘 this.tray(); } this.getContentPane().add(pane); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300, 200); this.setVisible(true); } /** * 托盘相关代码 */ private void tray(){ label.setText("本操作系统支持托盘"); button.setEnabled(true); tray = SystemTray.getSystemTray(); // 获得本操作系统托盘的实例 ImageIcon icon = new ImageIcon("F:/NetBeansProjects/Desktop/src/38.gif"); // 将要显示到托盘中的图标 PopupMenu pop = new PopupMenu(); // 构造一个右键弹出式菜单 MenuItem show = new MenuItem("显示窗口"); MenuItem exit = new MenuItem("退出演示"); MenuItem author = new MenuItem("Author"); /** * TrayIcon有三个构造 * TrayIcon(Image image) 用“图标”来构造 * TrayIcon(Image image, String tooltip) 用“图标”和“ToolTip”构造 * TrayIcon(Image image, String tooltip, PopupMenu popup) 用“图标”,“ToolTip”,“弹出菜单”来构造一个托盘图标 */ trayIcon = new TrayIcon(icon.getImage(), "Java1.6.0托盘技术演示", pop); // 点击本按钮后窗口被关闭,托盘图标被添加到系统的托盘中 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { tray.add(trayIcon); // 将托盘图标添加到系统的托盘实例中 setVisible(false); // 使窗口不可视 } catch (AWTException ex) { ex.printStackTrace(); } } }); /** * 添加鼠标监听器,当鼠标在托盘图标上双击时,默认显示窗口 */ trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if(e.getClickCount()==2){ // 鼠标双击 tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标 setVisible(true); // 显示窗口 } } }); show.addActionListener(new ActionListener() { // 点击“显示窗口”菜单后将窗口显示出来 public void actionPerformed(ActionEvent e) { tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标 setVisible(true); // 显示窗口 } }); exit.addActionListener(new ActionListener() { // 点击“退出演示”菜单后退出程序 public void actionPerformed(ActionEvent e) { System.exit(0); // 退出程序 } }); author.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { showMessage(); } }); pop.add(show); pop.add(exit); pop.add(author); } /** * 显示信息 */ private void showMessage(){ JOptionPane.showMessageDialog(this, new JLabel("<html>作者:voole" + "<br>Blog:http://voole.iteye.com</html>"), "voole", JOptionPane.INFORMATION_MESSAGE); } public static void main(String[] args) { new TrayDemo(); } }
发表评论
-
一些有用的开源项目
2013-07-09 07:22 975cbtoolhttp://code.google.com/p/ ... -
Javadoc转换chm帮助文档的四种方法总结
2012-01-04 22:48 967关键词 Java ... -
解决IE和FF下载中文名称的文件文件名乱码的问题.
2011-11-02 14:06 1059下载前判断浏览器类型 采用不同的文件名编码方式 网 ... -
获取网络MP3真实地址
2010-09-20 19:26 2109MP3网站的歌曲都采用了不同的加密方法,直接从页面的源文件中是 ... -
iframe跨域session丢失问题
2010-09-09 03:47 2181哎呀,在做项目的时候,碰到一个很棘手的问题。在一个应用中通过i ... -
java 正则表达式 过滤html标签
2010-09-07 08:47 1074import java.util.regex.Matcher; ... -
验证码
2010-09-03 19:47 699<%@ page contentType="i ... -
JSON与JAVA数据的转换
2010-08-26 08:52 1230JSON-lib这个Java类包用于把bean,map和XML ... -
JAVA中使用FTPClient上传下载资源
2010-03-25 11:36 16867最近发现apache很多jar包非常好用,刚好项目中要实现ft ... -
HttpClient 学习整理
2009-12-19 12:40 841HttpClient 学习整理 ... -
用RMI建立一个分布式Java应用程序详解
2009-10-29 13:46 768RMI,远程方法调用(Remote Method Invoca ... -
Java RMI之HelloWorld篇
2009-10-29 13:39 968Java RMI 指的是远程方法调用 (Remote Me ... -
java中使用log4j将日志信息写入数据库中
2009-08-06 13:09 2390首先将log4j的jar包和Logging的jar包导入到 ... -
log4j详解
2009-07-29 21:19 928在实际编程时,要使Log4 ... -
学习Flex和BlazeDS的十三个理由
2009-06-18 10:43 766本文列述了13个Java程序 ... -
Java 语言的类、属性、方法各有哪些修饰符?简述各修饰符的使用条件
2009-06-13 10:32 28841、 类的修饰符分为: ... -
windows 平台的cvs服务器配置
2009-06-10 14:42 9661: 大家做开发的时候就是都会用到cvs版本控制,那么怎样制作 ... -
Java正则表达式匹配、替换HTML内容
2009-06-09 23:09 2882曾经了解过JavaScript的正则表达式,知道其功 ... -
Java代理模式
2009-04-08 19:21 28661.代理模式 代理模式的作用是:为其他对象提供一种代理以控 ... -
final 关键字的理解
2009-04-08 19:20 813final使得被修饰的变量"不变",但是由 ...
相关推荐
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...
java1.6.0帮助文档(中文版)(第二部分)
java 1.6.0 中文API文档 很不错的中文文档,找了很久才找到的,强烈推荐!!
java学习字典,1.6.0API中文参考文档,在学习的过程中,不懂的方法使用可以当作字典查询使用
赠送jar包:lz4-java-1.6.0.jar; 赠送原API文档:lz4-java-1.6.0-javadoc.jar; 赠送源代码:lz4-java-1.6.0-sources.jar; 赠送Maven依赖信息文件:lz4-java-1.6.0.pom; 包含翻译后的API文档:lz4-java-1.6.0-...
为jdk1.6版本,有需要提供下载,这个版本增加了很多新特性,使用者可以去研究一下里面是如何使用的,这个是压缩版的,解压后配置即可使用
这是java1.6.0的中文帮助文档,很好。该文档共分成4个部分,请全部下载后解压。
java jdk1.6.0_10.rar 绿色压缩包,喜欢就拿去吧!!!
32位jdk1.6.0_14.rar 32位jdk1.6.0_14.rar 32位jdk1.6.0_14.rar
java 1.6.0 中文API文档 找了好久才找到,很不错的中文API文档。
最新Java JDK 1.6.0中文API,JAVA开发者必备工具。
ibm_javaibm_javaibm_javaibm_javaibm_javaibm_javaibm_java
最新Java JDK 1.6.0中文API,Java开发者必备
sun Java JDK6.0的源代码,JDK类库源码.java jdk使用了大量的设计模式,开发学习必备神器
java 1.6.0 中文API文档 找了很久才找到,很实用的东西!
java 1.6.0 中文API文档 找了很久才找到的中文文档,很不错的哟!!
Java1.6.0环境变量的配置[整理].pdf
jdk1.6.0_05。
jdk1.6.0_25.java 开发kit 版本1.6.0
赠送jar包:lz4-java-1.6.0.jar; 赠送原API文档:lz4-java-1.6.0-javadoc.jar; 赠送源代码:lz4-java-1.6.0-sources.jar; 赠送Maven依赖信息文件:lz4-java-1.6.0.pom; 包含翻译后的API文档:lz4-java-1.6.0-...