JDK 1.6 新特性

本文详细介绍了JDK 1.6中的新特性,包括新增的Desktop类和SystemTray类,用于系统集成和系统托盘操作。此外,还提到了JAXB2在对象与XML映射的便利性,STAX作为处理XML的新API,以及Compiler API的动态编译功能。其他亮点还包括轻量级Http Server API、插入式注解处理API、Console类、对脚本语言的支持、Common Annotations和Java DB。JDBC 4.0的自动加载驱动功能也大大简化了数据库连接的配置工作。
摘要由CSDN通过智能技术生成

Desktop类和SystemTray类

JDK 1.6 AWT 新增加了两个类:Desktop 和 SystemTray

前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。

这两个类都为工厂类,其构造函数是private,这也就意味着我们需要调用其静态方法来获取此类的实例。

Desktop类

Desktop 类允许 Java 应用程序启动已在本机桌面上注册的关联应用程序,以处理 URI 或文件。
支持的操作包括:

  • 启动用户默认浏览器来显示指定的 URI;
  • 启动带有可选 mailto URI 的用户默认邮件客户端;
  • 启动已注册的应用程序,以打开、编辑或打印指定的文件。
  • 此类提供与这些操作对应的方法。这些方法查找在当前平台上注册的关联应用程序,并启动该应用程序来处理 URI 或文件。如果没有关联应用程序或关联应用程序无法启动,则抛出异常。
  • 应用程序被注册为 URI 或文件类型;例如,”sxi” 文件扩展名通常注册为 StarOffice。注册、访问和启动关联应用程序的机制与平台有关。

每个操作都是由 Desktop.Action 类表示的一种动作类型。
注:当调用一些动作和执行关联应用程序时,将在与启动 Java 应用程序相同的系统上执行它们。

与Desktop类具有类似功能的类有Runtime类。

SystemTray类

  SystemTray 类表示桌面的系统托盘。在 Microsoft Windows 上,它被称为“任务栏状态区域 (Taskbar Status Area)”,在 Gnome 上,它被称为“通知区域 (Notification Area)”,在 KDE 上,它被成为“系统托盘 (System Tray)”。系统托盘由运行在桌面上的所有应用程序共享。

  在某些平台上,可能不存在或不支持系统托盘,在这种情况下,getSystemTray() 将抛出 UnsupportedOperationException。要检查系统托盘是否受支持,可以使用 isSupported()。

  SystemTray 可以包含一个或多个 TrayIcon,可以使用 add(java.awt.TrayIcon) 方法将它们添加到托盘,当不再需要托盘时,使用 remove(java.awt.TrayIcon) 移除它。TrayIcon 由图像、弹出菜单和一组相关侦听器组成。

  每个 Java 应用程序都有一个 SystemTray 实例,在应用程序运行时,它允许应用程序与桌面系统托盘建立连接。SystemTray 实例可以通过 getSystemTray() 方法获得。应用程序不能创建自己的 SystemTray 实例。

示例:

TrayIcon trayIcon = null;
if (SystemTray.isSupported()){
    // get the SystemTray instance
    SystemTray tray = SystemTray.getSystemTray();
    // load an image
    Image image = Toolkit.getDefaultToolkit.getImage(...);
    // create a action listener to listen for default action executed on the tray icon
    ActionListener listener = new ActionListener(){
        public void actionPerformed(ActionEvent e)              {
            // execute default action of the application
            // 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值