Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Java入门(9) JAVA与GUI

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  本章目标:

  通过本章的学习,读者应能知道GUI(图形用户界面)的概念,并且能够使用Java语言来构建一个令人赏心悦目的GUI界面,使你的程序更具有感召力。掌握标签、按钮、文本框、选择框、滚动条……等等各种GUI部件的使用方法。

  9.1 用什么构建GUI

  传授新知

  早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看到历史的足迹。

  后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件、操作系统、应用软件一条龙的产品,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。

  后来,著名的Microsoft公司推出了风靡全球的Windows操作系统,它凭借着优秀的图形化用户界面,一举奠定了操作系统标准的地位。这也造就了世界首富---比尔.盖茨和IT业的泰山北斗微软公司。

  在这图形用户界面风行于世的今天,一个应用软件没有良好的GUI是无法让用户接受的。而Java语言也深知这一点的重要性,它提供了一套可以轻松构建GUI的工具。在本章和下一章中,我们将向你充分证明这一点。

  在Java语言提供的GUI构建工具中,可以分为“部件”(component)和“容器”(container)两种。

  在Java语言中,提供了以下部件:

  § 按钮

  § 标签

  § 复选框

  § 单选按钮

  § 选择框

  § 列表框

  § 文本框

  § 滚动条

  § 画布

  § 菜单

  这些部件,我们在使用Windows操作系统时都遇到过,你通过操作它们来实现与程序的交互。

  而光有“部件”就组不成程序,我们必须使用“容器”将这些“部件”装配起来,使其成为一个整体。Java语言还提供了以下“容器”:

  § 程序的启动封面

  § 窗体(form)

  § 对话框(Dialog)

  Java语言是通过AWT(抽象窗口化工具包)和Java基础类(JFC或更常用的Swing)来提供这些GUI部件的。

  其中Java.awt是最原始的GUI工具包,存放在java.awt包中。现在有许多功能被已被Swing取代并得到了很大的增加与提高,因此一般我们很少再使用Java.awt,但是AWT中还是包含了最核心的功能,通常,一个Java的GUI程序至少还要使用下面几个类:

  § java.awt.Color:基本颜色定义

  § java.awt.Font:基本字体定义

  § java.awt.Cursor:光标操作定义

  而Swing则存放在javax.swing包中。

  我们可以在Java的GUI程序的最前面加上以下两句就可以了:


import java.awt.*;
import javax.swing.*; 

  这样就可以一劳永逸了。

  用Java开发一个GUI程序,通常需要以下几步:

  1) 构建一个顶层容器;

  2) 构建一个部件;

  3) 用容器的add方法将部件加入到这个容器中;

  我们马上就开始!

  自测练习

  1) 在Java语言中,用来构建GUI的工具可以分为________和__________。

  a.控件 b.部件 c.窗体 d.容器

  2) 下面不属于“部件”的是__________。

  a.选择框 b.窗体 c.菜单

  3) 下面不属于“容器”的是__________。

  a.文本框 b.对话框 c.窗体

  4) 容器可以被添加到其它容器中去。________

  a.正确 b.不正确

  5) 部件可以被添加到容器中去。_______

  a.正确 b.不正确

  6) 容器可以被添加到部件中去。_______

  a.正确 b.不正确

  7) 部件可以被添加到其它部件中去。_______

  a.正确 b.不正确

  练习答案

  1)b、d 在Java语言中,GUI构建工具可以分为部件与容器。

  2)b 窗体是一种容器,不是部件。

  3)a 文本框是一种部件,不是容器。

  4)a 有些容器可以被包含到其它容器中去。

  5)a 容器就是用来放置各种部件的。

  6)b 将部件装到容器去,就象“把桶装到水中”一样可笑。

  7)b “把水装到水中”也是可笑的呀。

  9.2 使用Button(按钮)

  实例说明

  1.首先,我们使用文字编辑软件输入下源程序。

  源程序:useButton.java


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class useButton extends JApplet
{
JButton button1;
public void init()
{
JPanel panel1=(JPanel)getContentPane();
panel1.setLayout(new FlowLayout());
button1=new JButton(“Beep!”);
panel1.add(button1);
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
Toolkit.getDefaultToolkit().beep();
}
});
}
}

  2.执行以下命令,编译这个程序:


c:javastudy> javac useButton.java

  由于,这是一个Java Applet(小应用程序),需要在网页上显示,所以我们需要编辑一个包含这个小应用程序的HTML文件。形如:

  源程序:useButton.html


<html><body>
<applet code="useButton.class" WIDTH=150 HEIGHT=100>
</applet>
</body></html>


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:PHP中的类-上传文件   下一篇:GAWK 手册(一)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章