您的位置:首页 > 编程语言 > Java开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: