登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[java] 托盘(Tray), 标准与实现之间  

2009-06-03 21:55:36|  分类: lang_java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
java 中如何实现托盘(Tray),1.6之前是没有原生支持的。1.6之后,可以使用:
java.awt.SystemTray
java.awt.TrayIcon

http://java.sun.com/javase/6/docs/api/java/awt/SystemTray.html
http://www.java2s.com/Code/Java/JDK-6/CreateTrayIcon.htm

不过呢,目前 SystemTray 只支持 win32, GNOME, KDE,其他的 WindowsManager 自然是不支持的。
SystemTray.isSupported() 会告诉你目前是否支持 Tray。

--------------- java/awt/SystemTray.java -------------
public static boolean isSupported() {
    if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
        return ((SunToolkit)Toolkit.getDefaultToolkit()).isTraySupported();
    } else if (Toolkit.getDefaultToolkit() instanceof HeadlessToolkit) {
        return ((HeadlessToolkit)Toolkit.getDefaultToolkit()).isTraySupported();
    }
    return false;
}

--------------- sun/awt/X11/XToolkit.java (subclass of SunToolkit) -------------
public boolean isTraySupported() {
    int wm = XWM.getWMID();
    if (wm == XWM.METACITY_WM || wm == XWM.KDE2_WM)
    {
        return true;
    }
    return false;
}
其中 Metacity 就是 GNOME。

--------------------------------
我的 IceWM 还不能些 Tray 程序了,汗~
  评论这张
 
阅读(837)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018