让界面更加绚丽 Java SE 6.0 GUI体验

Java是一种非常强大的编程语言,但Java的GUI能力一直是它的软肋。虽然Java提供2种图形解决方案,AWT和Swing。但这2种图形库的功能十分有限,使用它们并不能带来更多的用户体验。而且AWT和Swing的更新速度很慢。一直到Java SE 5也没什么明显的变化。幸好Java SE 6终于为它们增加了更强大的功能。有了这些功能,使用AWT和Swing设计的用户界面可以更贴近用户。为了使读者能够更早地体验Java SE 6 GUI的美丽,本文将就Java SE 6 GUI提供的主要功能进行讨论。

显示启动界面

现在很多商业和非商业软件在启动时都必须初始化,有时初始化的时间会很长,如photoshop、flash等,为了让用户有耐心继续等待,不要误以为死器了,这些软件在初始化之前总是显示一个图形界面来告诉用户软件正在做什么。如图1是Flash8在启动时的初始化界面。

图1 Flash8的启动界面

当我们在设计软件时可能也需要这样一个界面。当然,这在Java SE的早期版本中也可以做到,但比较费劲,基本的实现是将一个图形放到窗体上,然后先显示这个,这需要编写一定的代码,而Java SE 6提供了一个更简单的方法,可以不添加一行代码,而且在界面要改变时还不需要重新编译源程序。让我们先看一个简单的例子。

import javax.swing.*;
import java.awt.*;
public class TestSplash
{
 public static void main(String args[])
 {
  try
  {
   // 为了让启动界面多显示3秒,
   // 如果是正常的程序,这里应该时初始化代码
   Thread.sleep(3000);
   JFrame frame = new JFrame("Java SE 6 启动界面演示");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JLabel label = new JLabel("我的标签", JLabel.CENTER);
   frame.add(label, BorderLayout.CENTER);
   frame.setSize(300, 95);
   frame.setVisible(true);
  }
  catch (InterruptedException e)
  {}
 }
}

上面的程序是一个非常简单的界面演示程序,它的界面如图2所示。

图2

如果使用java TestSplash直接运行上面的程序,将立刻显示如图2的界面。Java SE 6在java命令上提供了一个选项,可以在显示程序主界面之前先显示一幅图。

java -splash:splash.gif TestSplash

如果运行以上的命令,在出现图2所示的界面之前会先显示splash.gif,然后再过几秒钟splash.gif自动关闭,然后会显示主界面。在上面程序中的Thread.sleep(3000); 是为了使splash.gif显示的时间长一些,可以将这句改为直正的初始化代码。splash.gif文件如图3所示。

图3 splash.gif

时间: 2024-09-04 17:18:26

让界面更加绚丽 Java SE 6.0 GUI体验的相关文章

Java SE 6之GUI:让界面更加绚丽(上)

本文为原创,如需转载,请注明作者和出处,谢谢! 本文曾发表于天极网:http://dev.yesky.com/185/2690685.shtml Java SE 6之GUI:让界面更加绚丽(下) Java是一种非常强大的编程语言,但Java的GUI能力一直是它的软肋.虽然Java提供2种图形解决方案,AWT和Swing.但这2种图形库的功能十分有限,使用它们并不能带来更多的用户体验.而且AWT和Swing的更新速度很慢.一直到Java SE 5也没什么明显的变化.幸好Java SE 6终于为它们

Java SE 6之GUI:让界面更加绚丽(下)

本文为原创,如需转载,请注明作者和出处,谢谢! Java SE 6之GUI:让界面更加绚丽( 上) 在上一篇中我介绍了Java SE 6在GUI上的部分改进.在这篇 文章中我接着介绍另外几种新的GUI功能.这些功能是: 1.  带有排序和过滤功能的JTable. 2.  增强的JTabbedPane组件 3.  增强的打印功能 4.  增强的拖放功能 一.带有排序和过滤功能的JTable.     在Java SE 6中除了 java.awt被更新外,javax.swing同时也有了很大的改进.

用Java SE 6.0实现高质量桌面集成开发

提要:本文将以具体的实例向你展示Java SE 6在桌面开发中所提供的一系列优秀特征. 一. 引言 随着Java SE 6 Beta的发行,Java开发者再也不需要自己去实现Java本机接口(JNI)便可以在其应用程序中加入桌面产品所具有的特征.这些桌面集成特征现在已成为内核的一个组成部分. 最新的Java标准版本6.0(代码名为Mustang)将在功能上进行一系列的改进--开发者们能够方便地用Java处理安全,JMX,操作系统文件,国际化和桌面开发等一系列问题.Sun在开发这个版本的过程中表现

Java SE 6.0新特性体验

Mustang(也称作Java SE 6),如今刚进入其第二个测试阶段.本文作者将同你进一步探讨这个新的发行版本中所提供的许多新的特征(从控制台I/O和存取权限控制方法到系统托盘API和表格排序和过滤等). 一.引言 Mustang(也称作Java SE 6),如今刚进入其第二个测试阶段.本文中让我们一起进一步探讨这个新的发行版本中所提供的许多新的特征(从控制台I/O和存取权限控制方法到系统托盘API和表格排序和过滤等). 在分析控制文件和目录存取许可的若干新的文件方法后,本文将向你展示新的桌面

Java SE 6.0调用Java编译器的两种新方法

在很多Java应用中需要在程序中调用Java编译器来编译和运行.但在早期的版本中(Java SE5及以前版本)中只能通过tools.jar中的com.sun.tools.javac包来调用Java编译器,但由于tools.jar不是标准的Java库,在使用时必须要设置这个jar的路径.而在Java SE6中为我们提供了标准的包来操作Java编译器,这就是javax.tools包.使用这个包,我们可以不用将jar文件路径添加到classpath中了. 一.使用JavaCompiler接口来编译Ja

Java SE 6 新特性: HTTP 增强

2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Mustang 在性能方面有了不错的提升.与 Tiger 在 API 库方面的大幅度加强相比,虽然 Mustang 在 API 库方面的新特性显得不太多,但是也提供了许多实用和方便的功能:在脚本,WebService,XML,编译器 API,数据库,JMX,网络和 Instrumentation 方面都有不错

Java SE 6在Solaris的可观察性特征分析

Java平台标准版(Java SE)6,代码名为"Mustang",是最新的Java SE发行版本(正在开发中).Java SE 6源码和二进制代码都可以在www.Java.net上下载.Java SE 6平台要到2006年秋天才能正式发布.不过,现在你可以下载试用Java SE 6 Beta版. Java SE 6平台中提供了多种可观察性(observability)工具,这其中的许多工具都可在系统中运行,而这些工具中的只有极少数被用于挂起进程或核心复制处理.因此,在本文中,我们将分

Java SE 8:标准库增强

Lambda表达式是Java SE 8的核心功能,大部分的改进都围绕lambda表达式展开.(Jigsaw项目已经被推迟到Java SE 9.)关于lambda表达式的内容,已经在上一篇文章中进行了说明.这篇文章主要介绍Java SE 8中包含的其他Java标准库的增强. 并行排序 随着多核CPU的流行,Java平台的标准库实现也尽可能利用底层硬件平台的能力来提高性能.Java SE 7中引入了Fork/Join框架作为一个轻量级的并行任务执行引擎.Java SE 8把Fork/Join框架用到

Java开发2.0

Java开发2.0 - 使用Amazon SimpleDB进行云存储,第1部分 - 开始使用SimpleDB和Amazon SDK 在整个系列中,我和您了分享大量非关系型数据存储,统称为 NoSQL.在一篇最近的文章中,我向您展示了一个面向文档的数据存储 (CouchDB)与面向模式的关系型数据库的巨大区别.此外,CouchDB 的整个 API 是 REST 式的,且支持不同的查询方式:JavaScript 中定义 的 MapReduce 功能.很显然,这是对传统 JDBC 的一个很大突破. 我