我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

今天就跟大家聊聊有关如何分析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类特性有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

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

如何用XGBoost在Python 中进行特征重要性分析和特征选择

如何用XGBoost在Python 中进行特征重要性分析和特征选择,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用诸如梯度增强之类的决策树方法的集成的好处是,
2023-06-15

如何进行JDK7新特性中fork/join框架的原理分析

如何进行JDK7新特性中fork/join框架的原理分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。原理解析:fork分解,join结合。这个框架的本质是将一个任务分解成多个
2023-06-17

PHP7中的Type Hinting特性:如何明确函数的返回类型和值?

PHP7中的Type Hinting特性:如何明确函数的返回类型和值?随着PHP7的发布,一项引人注目的特性被引入到了这个流行的编程语言中,那就是Type Hinting(类型提示)特性。Type Hinting可以帮助开发者在函数声明时明
2023-10-22

如何利用Python进行商品的亲和性分析

这篇文章将为大家详细讲解有关如何利用Python进行商品的亲和性分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。01数据挖掘简介数据挖掘旨在让计算机根据已有数据做出决策。决策可以是预测明年的销量,人口的
2023-06-15

PHP7中的Type Hinting特性:如何明确函数的参数和返回类型?

PHP7中的Type Hinting特性:如何明确函数的参数和返回类型?随着PHP的发展,越来越多的开发者开始倾向于使用面向对象的编程方法,这也意味着对于代码的可读性和可维护性提出了更高的要求。为了满足这一需求,PHP7引入了Type Hi
2023-10-22

如何优化PHP开发中的性能监控和分析

概述:在PHP开发过程中,性能监控和分析是非常重要的,它可以帮助我们发现代码中的瓶颈,从而进行针对性的优化,提高系统的响应速度和运行效率。本文将介绍如何使用一些常见的性能监控工具和技术,以及如何应用具体的代码示例进行优化。一、使用PHP的内
2023-10-21

Elasticsearch分布式搜索的监控与日志分析(如何监控和分析Elasticsearch分布式搜索的性能和日志?)

监控和分析Elasticsearch分布式搜索对于优化性能和故障排除至关重要。最佳实践包括指标监控(如集群健康、资源使用)、节点监控(如负载和磁盘性能)、查询性能监控(慢速查询分析)、集群健康监控。日志分析涉及日志收集(集中在中央位置)、日志分析(使用Kibana或ELK堆栈)、异常检测和根因分析。建议定期审查监控数据和日志、建立健全的警报、优化日志记录、使用自动化工具和定期进行压力测试。
Elasticsearch分布式搜索的监控与日志分析(如何监控和分析Elasticsearch分布式搜索的性能和日志?)
2024-04-02

Xunsearch搜索的日志分析与监控管理(如何分析和监控Xunsearch搜索的日志和性能?)

Xunsearch搜索可通过日志分析和监控管理来提升系统性能和稳定性。日志分析包括访问、索引、查询和诊断日志,可用于识别高流量页面、索引错误、优化搜索查询和解决问题。性能监控则包含实时查询、索引以及系统健康监控,用于监测查询速度、索引效率和系统资源使用情况。日志分析工具如Logstash和Kibana可简化日志管理和可视化。最佳实践建议定期分析日志、监控性能指标、设置警报和与技术支持合作,以持续优化日志分析和监控策略。
Xunsearch搜索的日志分析与监控管理(如何分析和监控Xunsearch搜索的日志和性能?)
2024-04-02

PHP7中的Type Hinting特性:如何明确函数的返回类型以避免错误和不确定性?

PHP7中的Type Hinting特性:如何明确函数的返回类型以避免错误和不确定性?在编写PHP代码时,我们经常会遇到函数返回不确定类型的情况。这种不确定性可能导致程序在运行时出现错误,增加了代码维护的难度。幸运的是,在PHP7中引入了T
2023-10-22

PHP7中的Type Hinting特性:如何明确函数的参数类型以避免错误和不确定性?

PHP7中的Type Hinting特性:如何明确函数的参数类型以避免错误和不确定性?引言:在开发过程中,我们经常遇到函数传参的问题。有时候,由于函数参数类型不明确,导致出现错误和不确定性。为了解决这个问题,PHP7引入了Type Hint
2023-10-22

如何监控和分析C++程序的性能以持续改进?

使用性能分析器(如 gprof)、内置库(如 、),以及日志记录来监控性能;分析识别瓶颈:检测最耗时的部分、分析函数调用,以及检测内存泄漏;优化实战案例:通过并行处理字符优化耗时的字符串打印函数,从而提高性能。如何监控和分析 C++ 程序的
如何监控和分析C++程序的性能以持续改进?
2024-05-08

Elasticsearch分布式搜索的近实时搜索特性分析(Elasticsearch如何实现近实时搜索?)

Elasticsearch作为分布式搜索引擎,能实现近实时搜索,让用户立即搜索新索引数据。其机制包括:实时索引、刷新机制、搜索刷新、版本控制、快照。新数据写入后,Elasticsearch会将数据刷新到磁盘,并通过搜索刷新使最新更改可被搜索,从而保证快速响应和数据一致性。但近实时搜索也存在资源消耗、数据延迟和一致性权衡等局限性,需要通过调整刷新间隔、使用搜索刷新和监控集群等最佳实践来优化性能。
Elasticsearch分布式搜索的近实时搜索特性分析(Elasticsearch如何实现近实时搜索?)
2024-04-02

如何分析Python的数据类型、变量、字符串和格式化

这篇文章主要为大家分析了如何分析Python的数据类型、变量、字符串和格式化的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何分析Python的数据类型、变
2023-06-29

PHP7中的Type Hinting特性:如何明确函数的返回类型和值以避免错误?

PHP7中的Type Hinting特性:如何明确函数的返回类型和值以避免错误?近年来,PHP语言在版本升级中引入了许多新特性和改进,其中包括了Type Hinting特性。Type Hinting特性可以让开发者明确函数的返回类型和值,从
2023-10-24

PHP7中的Type Hinting特性:如何明确函数的参数和返回类型以防止错误?

PHP7中的Type Hinting特性:如何明确函数的参数和返回类型以防止错误?引言:在开发过程中,明确函数的参数和返回类型是非常重要的,可以帮助开发者避免许多潜在的错误。PHP7引入了Type Hinting特性,它允许开发者在函数定义
2023-10-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录