快速业务通道

让界面更加绚丽 Java SE 6.0 GUI体验 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
   String[] info = new String[]    { "正在初始化API...", "正在初始化网络...", "正在初始化数据库..." };    SplashScreen splash = SplashScreen.getSplashScreen();    Graphics g = splash.createGraphics();    if (splash != null)    {     for (int i = 0; i < 3; i++)     {      g.setColor(Color.BLACK);      g.drawString(info[i], 350, 170 + i * 15);      splash.update();      Thread.sleep((i + 1)*1000);     }    }    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 (Exception e)   {}  } }

上面的代码SplashSreen获得启动界面,然后再通过createGraphics得到一个图形句柄。本例将在启动界面显示按一定时间间隔显示三个字符串,这三个字符串保存在info数组中。启动界面如图4所示。

让界面更加绚丽 Java SE 6.0 GUI体验 - 编程入门网

图4 在启动界面上显示三个字符串

另外需要提一点,在SplashScreen类中有一个close方法用于关闭启动界面,但这个方法一般不需要调用,因为在主窗口显示时这个方法自动被调用。当然,要想在初始化过程中关闭这启动界面,如发生初始化错误后,就不能再往下初始化了,因此,就要关闭这个界面,然后或退出程序,或直接进入主界面。

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

时间:2010-05-13 天极 极地圣火

系统托盘

现在有很多程序除了提供了一个完整的主界面外,在它最小化或者启动后在右下角的系统托盘区总是有一个小图标,如金山词霸、QQ和MSN等。图5显示了一台计算机的系统托盘里的图标。

让界面更加绚丽 Java SE 6.0 GUI体验 - 编程入门网

图5 系统托盘

如果使用C++、Delphi(Pascal)等语言实现这个功能非常简单,只要调用一下系统API即可,但在以前版本(Java SE 5以前)的Java SE中Sun并未提供访问系统托盘的类,在那时使用Java访问系统托盘的唯一方法就是使用JNI直接调用系统API,但这种方法实现比较复杂,而且如果这样做,就破坏了Java的跨平台特性(除非你为每一个操作系统平台都做一个这样的类)。Java的这个缺陷缓和终于在Java SE 6中得到弥补。在java.awt包中提供了一个SystemTray类可以直接访问系统托盘。下面的代码演示了一个简单的实现。

import javax.swing.*; import java.awt.*; public class MyTray {  public static void main(String args[])  {   // 判断当前操作系统是否支持系统托盘   // 最好加上这个判断,否则这个程序可能在其它操作系统上无法正常工作   if (SystemTray.isSupported())   {    // 通过静态方法getSystemTray()得到系统托盘    SystemTray tray = SystemTray.getSystemTray();    // 装载托盘图象    Image image = Toolkit.getDefaultToolkit().getImage("tray.gif");    // 为这个托盘加一个弹出菜单    PopupMenu popup = new PopupMenu();    MenuItem item = new MenuItem("我的菜单");    popup.add(item);    // 为这个托盘加一个提示信息    TrayIcon trayIcon = new TrayIcon(image, "提示信息", popup);    try    {     tray.add(trayIcon);    }    catch (AWTException e)    {     System.err.println("无法向这个托盘添加新项: " + e);    }   }   else   {    System.err.println(&q

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号