j2se6.0:抢先体验"野马"J2SE6.0来源: 发布时间:星期一, 2009年3月16日 浏览:0次 评论:0
J2SE5.0于2004年9月发布.它继承者,Java Platform,Standard Edition(J2SE6.0),代号"野马Mustang", 将于2006年上半年发布,"野马"发布通过Java Community Process作为JSR-270这个新版本主题继J2SE5.0主题和增加了些新特性 Compatibility and Stability Diagnosability, Monitoring, and Management Ease of Development Enterprise Desktop XML & Web Services Transparency 尽管"野马"直到明年才能使用,你没有必要等到明年开始使用"野马"代码,Sun每周发布了整个"野马"资源代码,javadoc和 2进制快照在 Mustang project home page(在java.net网络),这些使你在今天就能使用Java下代平台. 下面介绍以下J2SE6.0 新特性 在Java 6java.swt包下提供了Tray和TrayIcon类这两个类可以实现系统托盘功能下面让我们看看如何去实现系统托盘这是我们要实现流程:捕获关闭窗口事件、隐藏窗口、显示托盘图标鼠标右击托盘图标、显示弹出菜单(自动)、选择菜单显示窗口项再显示窗口、隐藏托盘图标 在进行编码的前让我再了解下Tray和TrayIcon这两个类每个Java应用都会包含个Tray例子这个不需要你去例子化你可以通过Tray.getTray获取接下来我们就要在Tray中添加TrayIcon这样在托盘区就会显示个新托盘图标TrayIcon有 4部分组成:名称、图标、弹出菜单和事件所以我们将这 4方面做好就可以完成其既定功能下面我们建立个JFrame应用这个应用包含个TrayIcon对象当主窗口被关闭时就显示该托盘图标当点击托盘图标时再显示主窗口 public MyFrame extends JFrame { private TrayIcon trayIcon; public MyFrame { DefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); this.addWindowListener( WindowAdapter { public void windowClosing(WindowEvent e) { (Tray.isSupported) { Visible(false); minimizeToTray; } { .exit(0); } } }); JPanel root = JPanel; JButton exitButton = JButton("ok"); exitButton.addActionListener( ActionListener { public void actionPerformed(ActionEvent e) { .exit(0); } }); root.add(exitButton); getContentPane.add(root); pack; initTrayIcon; } public void minimizeToTray { Tray tray = Tray.getTray; tray.add(trayIcon); } private void initTrayIcon { Image image = Toolkit.getDefaultToolkit.getImage(this.getClass.getResource("/logo.png")); PopupMenu popup = PopupMenu; MenuItem exitItem = MenuItem("Show"); ActionListener showListener = ActionListener { public void actionPerformed(ActionEvent e) { Visible(true); Tray.getTray.remove(trayIcon); } }; exitItem.addActionListener(showListener); popup.add(exitItem); trayIcon = TrayIcon(image, "MyTray", popup); trayIcon.addActionListener(showListener); } public void (String args) { MyFrame frame = MyFrame; frame.Title("MyFrame"); frame.Visible(true); } } 在initTrayIcon思路方法中我们创建个TrayIcon提供文本图标和个弹出菜单同时监听默认事件(Windows下双击托盘图标会触发这个事件) 在窗口关闭事件处理思路方法中我们隐藏主窗口然后在Tray中添加trayIcon对象在响应显示主窗口事件中我们主窗口显示思路方法然后将trayIcon从Tray中移去这样我们就实现了个最简单系统托盘例子 在JavaLobby上看到个JTaskPaneGroup例子利用TaskPane扩充Tray些界面效果非常不错 1.J2SE:怀胎 Java历史可以追溯到1991年4月Sun公司James Gosling领导绿色计划(Green Project)开始着力发展种分布式系统结构使其能够在各种消费性电子产品上运行他们使用了C/C/Oak语言由于电子产品种类繁多运行环境各不相同使得用这些语言进行开发软件Software必须为区别电子产品而专门设计所以项目组疲于奔命消费性电子产品软件Software环境发展无法达到预期目标绿色计划也陷于停滞状态 直至 1994年下半年由于Internet迅猛发展和环球信息网 WWW快速增长第个全球信息网络浏览器Mosaic诞生了;此时工业界对适合在网络异构环境下使用语言有种非常急迫需求;Games Gosling决定改变绿色计划发展方向他们对Oak进行了小规模改造就这样Java在1995年3月23日诞生了!Java诞生标志着互联网时代开始它能够被应用在全球信息网络平台上编写互动性及强Applet而1995年Applet无疑能给人们无穷视觉和脑力震荡 但没有相应开发库而只靠Java语言来进行开发肯定是困难重重所以Sun公司在1996年1月23日发布了JDK1.0来帮助开发人员开发JDK包括两大部分:运行环境和开发工具而运行环境包括 5大部分:核心API集成API用户界面API发布技术Java虚拟机(JVM)Java能够在信息网络时代快速发展得益于它独特组成结构它并不直接被编译成所在平台机器语言然后执行而是先被编译成字节码然后才到装有JVM硬件上运行所以它能够跨平台运行;而且不是定要使用Java语言来写才能编译成Java字节码我们用C/C/Javascript等语言来写也可以编译出JVM要求字节码文件在这个时期人们使用最多 Java API 无疑地就是 AWT JDK 1.0 时只有 AWT 称得上是组完整 framework其它 Java API 都比较偏向个别 紧跟着Sun公司在1997年2月18日发布了JDK1.1JDK1.1相对于旧版本最大改进是推出了JIT(Just-In-Time)编译器传统JVM收到道字节码指令后解释成机器码马上执行该机器码然后丢掉该机器码再接收下道字节码指令……即便是以前执行过字节码指令依然需要重新解释成机器码才能执行而JIT编译器会把常执行部分先解释好放在内存以后再次执行该指令时不用再解释直接从内存中取出机器码就可以执行了这样提高了不少效率 在JDK1.1时代Java平台分为PersonalJava和EmbeddedJava前者比较适用于运算资源和内存丰富设备而资源有限者适用于后者这样分类明显不符合时代发展潮流所以Java平台处处蕴藏着新翻天覆地革命…… 2.J2SE1.2:诞生 JDK1.2在1998年12月4日隆重发布标志着Java2平台诞生Java2J2SE1.2时代是个大变革时代它进行了如下 3大革命: * 市场推广革命 在Java1.0或者1.1中称API库为JDK但为了方便市场推广Sun公司在Java1.2版以后将JDK1.2改名为J2SDK将Java改名为Java 2在99年Sun公司还将Java2平台分为 3大块:J2SEJ2EEJ2ME这次市场推广革命顺应了网络急速发展潮流对Java2平台发展起到了很好催化剂作用 * API供应标准革命 而随着供应商区别JavaAPI分为 3大类: Java Core API:由Sun公司制定基本API所有Java平台都应该提供这就是我们平常所说Java核心类库 Java Optional API:由Sun公司制定扩充APIJava平台可以有选择地提供比如 JFC以前是Sun对JDK功能扩展不是Java公共规范标准Java2平台则包含了JFC技术,不需要再扩展了 特殊API:由特殊厂商或者组织提供API比如美国法律对出口中国加解密算法安全强度有定限制Java平台中不能包括些安全强度较高加密解密算法所以部分其它国家公司如加拿大BouncyCastle公司等可以提供些自己安全API * API制定过程革命 如果你有需求不能通过遵循标准API来实现,可以向 www.jcp.org 提出制定新API请求,经过审核,你请求可能被通过或者驳回;如果是被通过,则开始进入制定该API J2SE1.2时代进行这些革命形成制度直沿用到现在,对Java技术发展形成了深远影响 除了上述 3大革命Java2 还支持并新增了许多新特性最受追捧当属Swing库Swing 是轻量级 API它不但有各式各样先进组件而且连组件风格都可抽换Swing 出现的后大家很快地就不太使用 AWT 了但请不要以为 Swing 是用来取代 AWT 其实 Swing 是架构在 AWT 的上 Swing 出现只是减少员直接使用 AWT 机会而不会让 AWT 消失Java2 还废弃了些API最重要莫过于Thread类中对suspend,resume和stop等思路方法废弃由于JDK1.1集合类库中Vector类和HashTable类都考虑了同步在平常使用中影响效率所以Java2专门添加了对应非同步类并完善了集合类库 Java2平台能够得到广泛应用还应归功于这个时期些优秀书籍比如著名<
TAG: 体验 野马 0
相关文章读者评论发表评论 |