java 托盘制作代码实例
2007-11-02 23:01
696 查看
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/** *//**
*使java application生成托盘图标的例子
*本代码在JDK1.6上,Winxp平台上测试通过
*@author:NetJava.org
*/
public class TrayTest
...{
public static void main(String[] args)
...{
PopupMenu popup = new PopupMenu();
MenuItem menuExit = new MenuItem("退出");
MenuItem menuOpen = new MenuItem("打开");
MenuItem menuCancel = new MenuItem("取消");
//创建退出菜单监听器
ActionListener exitListener = new ActionListener() ...{
public void actionPerformed(ActionEvent e)
...{
System.exit(0);
} };
//创建打开监听器
ActionListener openListener = new ActionListener() ...{
public void actionPerformed(ActionEvent e)
...{
JOptionPane.showInputDialog("请输入您的密码:");
}
};
menuExit.addActionListener(exitListener);
menuOpen.addActionListener(openListener);
popup.add(menuOpen);
popup.add(menuCancel);
popup.add(menuExit);
//------------
CreateTray ct =CreateTray.getInstance();
//工作目录下使用的tray图标文件
String ic;
if(!ct.CreteTrayIcon(iconFileName,"我的托盘",popup))
...{
System.out.println("不能创建托盘");
}
}
}
class CreateTray
...{
private CreateTray()...{}
private static CreateTray ct=null;
/** *//**创建单实列*/
public static CreateTray getInstance()
...{
//因为使用了判断语句,所以要用getInstance()方法
if(ct==null)
...{
ct=new CreateTray();
}
return ct;}
/** *//**创建tray,如成功返回true值
@para trayImage:创建tray图标的图片文件名
@para trayName:tray显示名字
@para popup 这个tray上的PopupMenu
*/
public boolean CreteTrayIcon(String trayImage,String trayName,PopupMenu popup)
...{
boolean isCreated=false;
final TrayIcon trayIcon;//TrayIcon是一个预定义的类
if (SystemTray.isSupported())//如果系统支持托盘功能,如windows
...{
SystemTray tray = SystemTray.getSystemTray();//获取一个SystemTray对象
Image image = Toolkit.getDefaultToolkit().getImage(trayImage);//获取一个图标对象
//设定托盘图标,这是核心代码,其余的代码都是重新封装,以利使用
trayIcon = new TrayIcon(image, trayName, popup);
trayIcon.setImageAutoSize(true);
// TrayIcon对象的actionPerfomed()方法只响应双击事件
//托盘名称会作为tooltip在光标移动到托盘时自动显示
final ActionListener al = new ActionListener()...{
public void actionPerformed(ActionEvent e)
...{
trayIcon.displayMessage("托盘事件", "这个双击事件己到", TrayIcon.MessageType.WARNING);
}
};
trayIcon.addActionListener(al);
try
...{
tray.add(trayIcon);//将托盘添加到系统托盘
isCreated=true;
}
catch (AWTException e)
...{
System.err.println("无法创建托盘:"+e);
isCreated=false;
}
}
return isCreated;
}//end method
}//end class
相关文章推荐
- JAVA应用系统工具快捷托盘实例代码
- Java普通代码块,构造代码块,静态代码块,成员变量的执行顺序的代码实例
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- java 工厂方法详解及实例代码
- java 对ArrayList进行分页实例代码
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- JAVA自定义标签教程及实例代码
- Java实现中序表达式的实例代码
- java IO 字节流详解及实例代码
- DOTNETBAR制作圆角窗体和圆角控件代码实例
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- java版简单的猜数字游戏实例代码
- java数据类型转化大全实例代码
- java udp网络编程及实例代码,实现客户端和服务端通信
- java生产者消费者实例代码
- redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐
- Java 使用POI生成带联动下拉框的excel表格实例代码
- java省市级联下拉菜单实例代码
- java自带命令行工具jmap、jhat与jinfo的使用实例代码详解
- java计划任务调度框架quartz结合spring实现调度的配置实例代码分享