`

JDK6.0新特性二:Desktop和SystemTray类

阅读更多

在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。下面代码演示了Desktop和SystemTray的用法。

/**
*
* @author chinajash
*/
public class DesktopTray {
 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("netbeans.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);
}
}


  如果在Windows中运行该程序,可以看到在系统托盘区有一个图标,右击该图标会弹出一个菜单,点击Open My Blog会打开IE,并浏览我设定的BLOG地址;点击Send Mail to me会打开Outlook Express给我发邮件;点击Edit Text File会打开记事本编辑在程序中创建的文件test.txt。

分享到:
评论

相关推荐

    官方JDK6.0中文版

    如何安装和配置JDK6.0:** - 首先,从官方或可信渠道下载JDK 6.0的安装程序。 - 运行安装程序,按照提示完成安装过程。 - 配置环境变量,如JAVA_HOME指向JDK安装目录,PATH添加bin子目录,确保系统能够找到Java...

    JDK6.0新特性(转过来的)

    **JDK 6.0 新特性详解** JDK 6.0,全称为Java Development Kit 6.0,是Oracle公司发布的Java平台标准版(Java SE)的重要版本,它引入了一系列增强功能,提升了开发效率、性能和兼容性。以下是这个版本的一些核心新...

    JDK 6.0.zip

    这一版本引入了许多新特性和改进,包括: 1. **改进的Swing组件**:JDK 6.0对Swing UI库进行了增强,提供了更好的外观和感觉,支持更多的操作系统主题,并且增强了性能。 2. **JavaScript交互**:通过Java Web ...

    安装和配置jdk6.0和tomcat6.0

    【安装和配置 JDK6.0】 Java Development Kit (JDK) 是 Java 语言的开发工具包,包含了编译器、调试器以及运行环境等必备组件。JDK6.0 是 Oracle 公司发布的一个版本,提供了对 Java SE 6 平台的支持。以下是安装和...

    JDK 6.0安装手册——jdk,linux,aix,widow,Solarise.docx

    JDK 6.0 提供了一个完整的 Java 开发环境,包括 Java 编译器、Java 虚拟机和其他开发工具。JDK 6.0 是 Java 开发者的必备工具,可以用来开发桌面应用程序、Web 应用程序和移动应用程序。 安装 JDK 6.0 安装 JDK ...

    jdk6.0中文文档

    这份"jdk6.0中文文档"是针对JDK 6.0的官方帮助文档,它提供详尽的API参考、教程和指导,对于理解和使用JDK 6.0至关重要。 **一、JDK 6.0的主要特性** 1. **增强的Swing组件**:JDK 6.0在Swing UI库中进行了大量...

    java学习笔记JDK6.0课件和代码

    JDK 6.0是Oracle公司于2006年发布的一个重要版本,它是Java SE(Java Standard Edition)的一部分,提供了许多新特性和改进。这个压缩包中包含的"java学习笔记JDK6课件和课本代码"是学习JDK 6.0的重要参考资料,可以...

    深入jdk6.0源码

    这个主题涵盖了Java语言的基础特性、语法规范以及开发环境的配置和使用,同时也深入到JDK6.0的核心源代码层面,为开发者提供了全面理解Java平台的窗口。 在Java语言特点方面,JDK6.0引入了许多增强,如改进的Swing...

    JDK6.0API官方中文版CHM

    JDK 6.0是Oracle公司发布的一个重要版本,它在JDK 5.0的基础上增加了很多新特性,提升了性能,并对API进行了大量的改进和完善。 JDK 6.0 API官方中文版CHM文件是一个非常实用的开发参考文档,它是以Windows帮助文件...

    JDK6.0简体中文

    这个文档详细地列出了JDK 6.0中的所有类和接口,以及它们的方法和属性,帮助开发者理解和使用Java库。通过这份文档,开发者可以查找并学习各种API的功能,从而更好地进行程序设计。 在文档的"html"目录下,通常会...

    jdk6.0环境变量设置

    ### JDK 6.0环境变量设置详解 #### 安装JDK 6.0 ...通过上述步骤,不仅能够确保JDK 6.0在计算机上正确安装,还能使开发人员能够在任意目录下轻松编译和运行Java程序,极大地提升了工作效率和编程体验。

    JDK6.0的安装与配置

    ### JDK 6.0 的安装与配置详解 #### 一、安装 JDK 6.0 ...通过以上步骤,您可以顺利完成 JDK 6.0 的安装与配置,并能够开始编写和运行 Java 程序。虽然 JDK 6.0 已经比较老旧,但在某些特定情况下,它仍然是必要的。

    jdk 6.0 API Document 文档

    jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档

    JDK6.0 中文文档

    这个版本在Java的历史上扮演了重要角色,引入了许多新特性和改进,旨在提高开发者的生产力和应用程序的性能。 JDK 6.0 中的一些核心特性包括: 1. **增强的编译器(Java Compiler, javac)**:JDK 6.0的javac...

    最全 JDK6.0 API 文档

    JDK 6.0 API 文档是Java开发者的重要参考资料,它包含了Java开发工具包的所有公开接口、类和方法的详细说明。这份文档是理解和利用Java 6平台功能的基础,为程序员提供了全面的类库信息,使得开发过程更加高效且有据...

    jdk6.0 API文档中文版

    JDK 6.0 API 文档是Java开发者的重要参考资料,它包含了Java平台标准版6.0的所有公共类、接口、方法和异常的详细说明。这个文档以HTML形式提供,便于用户在线浏览和查询,确保了程序员在开发过程中能够快速、准确地...

    jdk6.0-02.zip

    这个"jdk6.0-02.zip"压缩包包含了JDK 6.0的特定更新版本,可能是第二次更新(Update 2),并提供了一个CHM(Compiled Help Manual)格式的手册,方便用户离线查阅文档。 CHM文件,全称为Compiled HTML Help,是微软...

    jdk6.0安装

    #### 二、JDK 6.0 安装步骤 1. **下载JDK 6.0**:首先访问Oracle官方网站或其他可信源下载适用于您操作系统的JDK 6.0安装包。 2. **安装JDK 6.0**: - 运行下载的安装程序。 - 按照提示完成安装过程,默认情况...

    jdk6.0-04.zip

    这个版本的JDK在当时引入了多项新特性和改进,旨在提升开发效率和性能。本文将深入探讨JDK 6.0的关键知识点。 一、增强的编译器性能 JDK 6.0中的Java HotSpot虚拟机(JVM)进行了优化,使得编译器性能显著提升。这...

Global site tag (gtag.js) - Google Analytics