返回顶部
首页 > 资讯 > 精选 >如何分析JDK6.0的Desktop和SystemTray类特性
  • 769
分享到

如何分析JDK6.0的Desktop和SystemTray类特性

2023-06-03 08:06:13 769人浏览 安东尼
摘要

今天就跟大家聊聊有关如何分析jdk6.0的Desktop和SystemTray类特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在JDK6中 ,AWT新增加了两个类:Desktop

今天就跟大家聊聊有关如何分析jdk6.0的Desktop和SystemTray类特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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


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("");
           }
       });
       
       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);    
   }
} Http://blog.csdn.net/chinajash

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

看完上述内容,你们对如何分析JDK6.0的Desktop和SystemTray类特性有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 如何分析JDK6.0的Desktop和SystemTray类特性

本文链接: https://lsjlt.com/news/233722.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何分析JDK6.0的Desktop和SystemTray类特性
    今天就跟大家聊聊有关如何分析JDK6.0的Desktop和SystemTray类特性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在JDK6中 ,AWT新增加了两个类:Desktop...
    99+
    2023-06-03
  • ES6新特性之类和继承的示例分析
    这篇文章主要介绍了ES6新特性之类和继承的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、类(Class)1.基本语法JavaSc...
    99+
    2024-04-02
  • C#中属性和特性的示例分析
    这篇文章主要介绍C#中属性和特性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先要说的是,可能一些刚接触C#的朋友常常容易把属性(Property)跟特性(Attribute)弄混淆,其实这是两种不同的东...
    99+
    2023-06-17
  • 如何深入分析VB.NET FieldOffset特性
    如何深入分析VB.NET FieldOffset特性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。VB.NET编程语言是一款由微软推出的面向对象语言。我们可以在实际编程中去...
    99+
    2023-06-17
  • Go map底层实现、扩容规则和特性分类源码分析
    这篇文章主要介绍“Go map底层实现、扩容规则和特性分类源码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go map底层实现、扩容规则和特性分类源码分析”文章能帮助大家解...
    99+
    2023-07-05
  • 如何用XGBoost在Python 中进行特征重要性分析和特征选择
    如何用XGBoost在Python 中进行特征重要性分析和特征选择,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用诸如梯度增强之类的决策树方法的集成的好处是,...
    99+
    2023-06-15
  • CSS3动画和HTML5新特性的示例分析
    本文将为大家详细介绍“CSS3动画和HTML5新特性的示例分析”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS3动画和HTML5新特性的示例分析”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体...
    99+
    2023-06-08
  • php7新特性之标量类型声明的案例分析
    这篇文章主要介绍php7新特性之标量类型声明的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP7增加了标量类型声明的特性,标量类型声明有两种模式   :强制模式(默认)严格模式   &...
    99+
    2023-06-14
  • CSS中继承性,特殊性,层叠性和重要性的示例分析
    这篇文章主要介绍CSS中继承性,特殊性,层叠性和重要性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 继承性CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种...
    99+
    2024-04-02
  • PHP中标量类型、复合类型和特殊类型的示例分析
    这篇文章主要介绍了PHP中标量类型、复合类型和特殊类型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在PHP中,支持8种原始数据类型,其中包括四种标量类型、两种复合...
    99+
    2023-06-20
  • 如何在PHP中进行自动分类和聚类分析?
    随着数据量逐渐增加,如何在PHP中进行自动分类和聚类分析成为了许多企业和个人用户的关注点。本文将介绍PHP中的分类和聚类分析技术,以帮助开发者更好地处理大量数据。一、 什么是自动分类和聚类分析?自动分类和聚类分析是一种常见的数据分析技术,可...
    99+
    2023-05-25
    PHP聚类分析 自动分类PHP PHP数据聚类
  • 分析MongoDB和MySQL各自的关键特性、差别和优势
    目录什么是 MySQL?什么是 MongoDB?MongoDB 与 MySQL 的差异数据模式和容量性能和速度安全性事务的特性:原子性、一致性、隔离性和持久性查询MongoDB vs. MySQL:分别在什么情况下使...
    99+
    2022-05-21
    MongoDB MySQL
  • ES6新特性之let和const命令的示例分析
    这篇文章主要介绍了ES6新特性之let和const命令的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:1. let 命令①...
    99+
    2024-04-02
  • Golang中协程与线程的特性和差异分析
    Golang中协程和线程的特点与区别分析 一. 引言Golang是一门现代化的编程语言,以其简洁、高效和并发性而闻名。在Golang中,协程和线程是实现并发编程的两种主要方式。本文将分析协程和线程的特点与区别...
    99+
    2024-01-24
    Golang 线程 协程
  • 如何分析SAP期末清帐和重分类
    这篇文章跟大家分析一下“如何分析SAP期末清帐和重分类”。内容详细易懂,对“如何分析SAP期末清帐和重分类”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如何分析SAP期末清帐和重...
    99+
    2023-06-04
  • 如何进行Redis5新特性中Streams作消息队列的分析
    这期内容当中小编将会给大家带来有关如何进行Redis5新特性中Streams作消息队列的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Redis 5 新特性中,S...
    99+
    2024-04-02
  • 如何进行JDK7新特性中fork/join框架的原理分析
    如何进行JDK7新特性中fork/join框架的原理分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。原理解析:fork分解,join结合。这个框架的本质是将一个任务分解成多个...
    99+
    2023-06-17
  • 如何分析CSS padding属性的用法和组成
    本篇文章为大家展示了如何分析CSS padding属性的用法和组成,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSS padding属性 -- 定义边内补白取值:...
    99+
    2024-04-02
  • 如何进行Linux性能分析和优化
    如何进行Linux性能分析和优化,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言一般互联网的项目都是部署在linux服务器上的,如果linux服务器出了问题,那么咱们平时...
    99+
    2023-06-15
  • 分析比较Golang和Python爬虫的语法特性、并发处理和可扩展性
    Golang爬虫与Python爬虫的比较:语法特性、并发处理和可扩展性解析 引言:随着互联网的迅速发展,数据成为了企业和个人获取信息的重要途径之一。为了从互联网上获取数据,爬虫成为了一种常用的技术工具。爬虫的...
    99+
    2024-01-20
    Python Golang 爬虫比较
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作