📄 java入门(9) java与gui.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0063)http://www.java-cn.com/technology/technology_detail.jsp?id=1664 -->
<HTML><HEAD><TITLE>欢迎光临JAVA中文站-文章详细信息</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="Java入门(9) JAVA与GUI.files/style.css" rel=stylesheet>
<STYLE type=text/css>TD {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
TH {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
INPUT {
FONT-SIZE: 9pt; FONT-FAMILY: 宋体
}
.menuStyle {
FONT-WEIGHT: bold; FONT-SIZE: 9pt; FONT-FAMILY: Arial,Geneva,Verdana,Helvetica
}
</STYLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV align=center>
<CENTER><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 height=149
cellSpacing=0 cellPadding=4 width=669 border=0>
<TBODY>
<TR bgColor=#f3fcf3>
<TD
style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid"
align=middle width=659 height=34>
<CENTER><IFRAME marginWidth=0 marginHeight=0
src="Java入门(9) JAVA与GUI.files/ad1.htm" frameBorder=0 width=440
scrolling=no height=59></IFRAME></CENTER></TD></TR>
<TR>
<TD
style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid"
vAlign=top width="100%" height=11>
<P align=left><FONT color=#7a7978>文摘分类>> </FONT><FONT
color=#999999>编程基础 | </FONT><FONT color=#7a7978>阅读次数>>
</FONT><FONT color=#999999>485 | </FONT><FONT
color=#7a7978>推荐人数>> </FONT><FONT color=#999999>0 |
</FONT><FONT color=#7a7978>整理日期>> </FONT><FONT
color=#999999>2003-03-07</FONT></P></TD></TR>
<TR bgColor=#f3fcf3>
<TD
style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid"
align=middle width=659 bgColor=#ffffff height=38><B>Java入门(9) JAVA与GUI</B>
<HR color=#999999 noShade SIZE=1>
<P align=left>摘要
<BR><BR> 通过本章的学习,读者应能知道GUI(图形用户界面)的概念,并且能够使用Java语言来构建一个令人赏心悦目的GUI界面,使你的程序更具有感召力。掌握标签、按钮、文本框、选择框、滚动条……等等各种GUI部件的使用方法。
<BR><BR>(2002-09-06 14:15:06)
<BR><BR>--------------------------------------------------------------------------------
<BR>By Wing, 出处:fjxufeng <BR><BR><BR> 本章目标:
<BR><BR> 通过本章的学习,读者应能知道GUI(图形用户界面)的概念,并且能够使用Java语言来构建一个令人赏心悦目的GUI界面,使你的程序更具有感召力。掌握标签、按钮、文本框、选择框、滚动条……等等各种GUI部件的使用方法。
<BR><BR> 9.1 用什么构建GUI <BR><BR> 传授新知
<BR><BR> 早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看到历史的足迹。
<BR><BR> 后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User
Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件、操作系统、应用软件一条龙的产品,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。
<BR><BR> 后来,著名的Microsoft公司推出了风靡全球的Windows操作系统,它凭借着优秀的图形化用户界面,一举奠定了操作系统标准的地位。这也造就了世界首富---比尔.盖茨和IT业的泰山北斗微软公司。
<BR><BR> 在这图形用户界面风行于世的今天,一个应用软件没有良好的GUI是无法让用户接受的。而Java语言也深知这一点的重要性,它提供了一套可以轻松构建GUI的工具。在本章和下一章中,我们将向你充分证明这一点。
<BR><BR> 在Java语言提供的GUI构建工具中,可以分为“部件”(component)和“容器”(container)两种。
<BR><BR> 在Java语言中,提供了以下部件: <BR><BR> § 按钮 <BR><BR> § 标签 <BR><BR> § 复选框
<BR><BR> § 单选按钮 <BR><BR> § 选择框 <BR><BR> § 列表框 <BR><BR> § 文本框
<BR><BR> § 滚动条 <BR><BR> § 画布 <BR><BR> § 菜单
<BR><BR> 这些部件,我们在使用Windows操作系统时都遇到过,你通过操作它们来实现与程序的交互。
<BR><BR> 而光有“部件”就组不成程序,我们必须使用“容器”将这些“部件”装配起来,使其成为一个整体。Java语言还提供了以下“容器”:
<BR><BR> § 程序的启动封面 <BR><BR> § 窗体(form) <BR><BR> § 对话框(Dialog)
<BR><BR> Java语言是通过AWT(抽象窗口化工具包)和Java基础类(JFC或更常用的Swing)来提供这些GUI部件的。
<BR><BR> 其中Java.awt是最原始的GUI工具包,存放在java.awt包中。现在有许多功能被已被Swing取代并得到了很大的增加与提高,因此一般我们很少再使用Java.awt,但是AWT中还是包含了最核心的功能,通常,一个Java的GUI程序至少还要使用下面几个类:
<BR><BR> § java.awt.Color:基本颜色定义 <BR><BR> § java.awt.Font:基本字体定义
<BR><BR> § java.awt.Cursor:光标操作定义 <BR><BR> 而Swing则存放在javax.swing包中。
<BR><BR> 我们可以在Java的GUI程序的最前面加上以下两句就可以了: <BR><BR><BR>import java.awt.*;
<BR>import javax.swing.*; <BR><BR><BR><BR> 这样就可以一劳永逸了。
<BR><BR> 用Java开发一个GUI程序,通常需要以下几步: <BR><BR> 1) 构建一个顶层容器; <BR><BR> 2)
构建一个部件; <BR><BR> 3) 用容器的add方法将部件加入到这个容器中; <BR><BR> 我们马上就开始!
<BR><BR> 自测练习 <BR><BR> 1) 在Java语言中,用来构建GUI的工具可以分为________和__________。
<BR><BR> a.控件 b.部件 c.窗体 d.容器 <BR><BR> 2) 下面不属于“部件”的是__________。
<BR><BR> a.选择框 b.窗体 c.菜单 <BR><BR> 3) 下面不属于“容器”的是__________。
<BR><BR> a.文本框 b.对话框 c.窗体 <BR><BR> 4) 容器可以被添加到其它容器中去。________
<BR><BR> a.正确 b.不正确 <BR><BR> 5) 部件可以被添加到容器中去。_______ <BR><BR> a.正确
b.不正确 <BR><BR> 6) 容器可以被添加到部件中去。_______ <BR><BR> a.正确 b.不正确 <BR><BR> 7)
部件可以被添加到其它部件中去。_______ <BR><BR> a.正确 b.不正确 <BR><BR> 练习答案 <BR><BR> 1)b、d
在Java语言中,GUI构建工具可以分为部件与容器。 <BR><BR> 2)b 窗体是一种容器,不是部件。 <BR><BR> 3)a
文本框是一种部件,不是容器。 <BR><BR> 4)a 有些容器可以被包含到其它容器中去。 <BR><BR> 5)a
容器就是用来放置各种部件的。 <BR><BR> 6)b 将部件装到容器去,就象“把桶装到水中”一样可笑。 <BR><BR> 7)b
“把水装到水中”也是可笑的呀。 <BR><BR> 9.2 使用Button(按钮) <BR><BR> 实例说明
<BR><BR> 1.首先,我们使用文字编辑软件输入下源程序。 <BR><BR> 源程序:useButton.java
<BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import
java.awt.event.*; <BR>public class useButton extends JApplet <BR>{
<BR>JButton button1; <BR>public void init() <BR>{ <BR>JPanel
panel1=(JPanel)getContentPane(); <BR>panel1.setLayout(new FlowLayout());
<BR>button1=new JButton(“Beep!”); <BR>panel1.add(button1);
<BR>button1.addActionListener(new ActionListener() <BR>{ <BR>public void
actionPerformed(ActionEvent evt) <BR>{
<BR>Toolkit.getDefaultToolkit().beep(); <BR>} <BR>}); <BR>} <BR>}
<BR><BR><BR><BR> 2.执行以下命令,编译这个程序: <BR><BR><BR>c:javastudy> javac
useButton.java <BR><BR><BR><BR> 由于,这是一个Java
Applet(小应用程序),需要在网页上显示,所以我们需要编辑一个包含这个小应用程序的HTML文件。形如:
<BR><BR> 源程序:useButton.html <BR><BR><BR><html><body>
<BR><applet code="useButton.class" WIDTH=150 HEIGHT=100>
<BR></applet> <BR></body></html>
<BR><BR><BR><BR> 3.然后使用appletviewer来运行这个程序: <BR><BR><BR>c:javastudy>
appletviewer useButton.html <BR><BR><BR><BR> 程序输出如下图所示:
<BR><BR><BR> 图9-1 程序useButton的运行结果 <BR><BR> 你试着按一下“Beep!”这个按钮,每按一下就会响一声。
<BR><BR> 传授新知 <BR><BR> 我们一起来看一下这个冗长而且令人费解的程序段。 <BR><BR> 1)
<BR><BR><BR>import javax.swing.*; <BR>import java.awt.*; <BR>import
java.awt.event.*; <BR><BR><BR><BR> 这一段程序是用来将构建GUI程序所需的包包含进来。 <BR><BR> 2)
<BR><BR><BR>public class useButton extends JApplet
<BR><BR><BR><BR> 这一句用来声明类useButton,说明它是从JApplet中继承而来的子类。JApplet是Applet类的一种增强类。因此,从这里可以看出这个程序是Java小应用程序,而不是Java应用程序。
<BR><BR> 3) <BR><BR><BR>JPanel panel1=(JPanel)getContentPane();
<BR>panel1.setLayout(new FlowLayout());
<BR><BR><BR><BR> 这一段程序创建了一个Jpanel(面板)容器:panel1,然后调用setLayout方法显示它。
<BR><BR> 4) <BR><BR><BR>button1=new JButton(“Beep!”);
<BR>panel1.add(button1);
<BR><BR><BR><BR> 这一段程序创建了一个新的部件:button1按钮,并将按钮上显示标签“Beep!”。然后调用容器panel1的add方法将这个按钮添加到这个面板上。
<BR><BR> 5) <BR><BR><BR>button1.addActionListener(new ActionListener()
<BR>{ <BR>public void actionPerformed(ActionEvent evt) <BR>{
<BR>Toolkit.getDefaultToolkit().beep(); <BR>} <BR>});
<BR><BR><BR><BR> 这是一个特殊的事件,它为按钮buuton1添加上一个ActionListener(action:行动、事件;Listener:监听者),也就是事件监视器。这个监视器做什么呢?
<BR><BR> 当actionPerformed(action:行动、事件;Performed:执行,表演),就是当这个事件执行时(什么事件呢?ActionEvent
evt,按下按钮时),将执行:Toolkit.getDefaultToolkit().beep() <BR><BR> 也就是响铃。
<BR><BR> 自测练习 <BR><BR> 1)按钮类中提供了一个方法,可以修改按钮文本的颜色。以下就是一个应用实例:
<BR><BR><BR>button1.setForeground(Color.green);
<BR><BR><BR><BR> 其中button1是按钮名,setForeground则方法名,set就是设置,Foreground就是前景,也就是设置前景色。参数是Color.green,绿色。相对应的,红色就是Color.red,蓝色就是Color.blue。
<BR><BR> 请编写一个程序,在面板上显示三个按钮,按钮上的标签分别是:set red,set green,set
blue(颜色为黑色)。当按下set red按钮,则三个按钮的标签都变成红色;而按下set green则变成绿色;按下set blue则变成蓝色。
<BR><BR> ____________________________________________________________________
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -