📄 yyrm6.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://www.chinajavaworld.net/doc/yyrm/yyrm6.html -->
<HTML><HEAD><TITLE>Java开发者----第 六 章 Java图 形 用 户 接 口</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="Java,JDBC,EJB,Open Source,jdk,rmi" name=description>
<META
content="Java, servlets, Java servlet, Javascript, ActiveX, VRML, applet, applets, directory, news, jdbc, applications, Java applications, Java developer, Java development, developer, classes, Jars.com, Jars, intranet, Java applet, Javabeans, Java products, JDK, Java development kit, java development environment, JIT, JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources, SUN, CGI, Perl, database, network, html, xml, dhtml, rating, ratings, review, jars, cgi, programming, software review, software rating"
name=Keywords>
<STYLE>.news {
BACKGROUND: #007cd3; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.t {
FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.t1 {
COLOR: #007cd3; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.white {
COLOR: #ffffff; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
.red {
COLOR: #ff0000; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt
}
A {
TEXT-DECORATION: underline
}
A:visited {
COLOR: #0000ff
}
A:hover {
COLOR: #ff6666; TEXT-DECORATION: none
}
.text {
FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 160%
}
.text1 {
COLOR: #000000; FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 130%; TEXT-DECORATION: none
}
.text1:visited {
COLOR: #000000
}
.text1:hover {
COLOR: #000000
}
.text2 {
COLOR: #000000; FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 130%; TEXT-DECORATION: none
}
.text2:visited {
COLOR: #000000
}
.text2:hover {
COLOR: #000000
}
.text3 {
FONT-FAMILY: "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 100%; TEXT-DECORATION: none
}
.large {
FONT-SIZE: 14px; LINE-HEIGHT: 130%
}
</STYLE>
<SCRIPT language=JavaScript> var adscount = 0; function cancelshift(){ promptstatus(); if(window.event.shiftKey){ addFavor(); window.event.returnValue = false; } } function promptstatus(){ window.status='欢迎光临【Java开发者】http://www.ChinaJavaWorld.com'; } function addFavor(){ window.external.addFavorite('http://www.ChinaJavaWorld.com','【Java开发者www.ChinaJavaWorld.com】'); } function secueclick(){ promptstatus(); if (event.button==2||event.button==3){ addFavor(); } } function helpme(){ cancelshift(); if (adscount++<1){ alert('请点击广告。谢谢您支持本网站继续发展!'); window.event.returnValue = false; } else{ adscount = 0; } }</SCRIPT>
<META content="MSHTML 5.00.3700.6699" name=GENERATOR></HEAD>
<BODY onmousemove=promptstatus();>
<CENTER><!--start head -->
<SCRIPT src="yyrm6.files/head1.js"></SCRIPT>
<SCRIPT src="yyrm6.files/ads.js"></SCRIPT>
<SCRIPT src="yyrm6.files/head2.js"></SCRIPT>
<!--end head --><!--start first table -->
<TABLE border=0 width="80%">
<TBODY>
<TR>
<TD vAlign=top width="100%">
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD class=white width="100%"></TD>
<TR></TR></TBODY></TABLE>
<TABLE border=1 cellPadding=1 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD bgColor=#f0f0f0 borderColor=#ffffff class=t1 noWrap
width="50%"><IMG height=12 src="yyrm6.files/yellow_dot.gif"
width=12>Java语言入门(6) </TD>
<TD bgColor=#f0f0f0 borderColor=#ffffff class=t1 noWrap
width="50%"><IMG height=12 src="yyrm6.files/blue_dot.gif"
width=12>作者:刘春阳 </TD>
<TR>
<TR>
<TD bgColor=#f0f0f0 borderColor=#ffffff class=t colSpan=2
width="100%">
<H1 align=center>第 六 章 Java图 形 用 户 接 口 </H1>
<P>对 一 个 优 秀 的 应 用 程 序 来 说, 良 好 的 图 形 用 户 接 口 是必 不 可 少 的。 缺 少 良 好 的
图 形 用 户 接 口, 将 会 给 用 户 理 解和 使 用 应 用 程 序 带 来 很 多 不 便。 很 难 想 象 用 户 为 了
学 会使 用 一 个 应 用 程 序, 去 记 一 大 堆 命 令。 Java提 ?copy; 了 生 成一 个 良 好 的 图 形 用
户 接 口 所 需 要 的 一 ?copy; 基 本 元 件: 面板(Panel?copy;、 按 钮 (Button?copy;、 标
?copy;(Label?copy;、 画板(Canvases?copy;、 滚 动 条(Scrollbar?copy;、 列 表
框(List?copy;、文 本 域(Text Field?copy;、 文 本 区(Text Area?copy;。 </P>
<H2 align=center>6.1 面 板 </H2>
<P>面 板 提 ?copy; 了 建 立 应 用 程 序 的 空 间。 你 可 以 把 图 形 元件(包 括 其 他 面
板?copy; 放 在 一 个 面 板 上。 Applet类 提 ?copy; 了 一 个 基 本 的 面 板。 </P>
<H3 align=center>6.1.1 布 局 管 理 </H3>
<P>Java提 ?copy; 了 几 种 布 局: 顺 序 布 局(Flow Layout?copy;、 边界 布 局(Border
Layout?copy; 和 网 格 布 局 (Grid Layout?copy;。 </P>
<H4 align=center>6.1.1.1 顺 序 布 局 </H4>
<P>顺 序 布 局(Flow Layout?copy; 是 最 基 本 的 一 种 布 局, 面 板 的缺 省 布 局 就 是 顺 序
布 局。 顺 序 布 局 指 的 是 把 图 形 元 件 一个 接 一 个 地 ?reg; 平 地 放 在 面 板 上。 下 面 是 一
个 顺 序 布 局的 例 子: </P>
<P>import java.awt.*; import java.applet.Applet; </P>
<P>public class myButtons extends Applet { Button button1, button2,
button3; public void init() { button1 = new Button("确 定"); button2 =
new Button("打 开"); button3 = new Button("关 闭"); add(button1);
add(button2); add(button3); } } </P>
<P>该 程 序 生 成 的 布 局 如 下: </P>
<P>图 6.1 </P>
<H4 align=center>6.1.1.2 边 界 布 局 </H4>
<P>边 界 布 局 包 括 五 个 区: 北 区、 南 区、 东 区、 西 区 和 中 区。这 几 个 区 在 面 板 上 的 分 布
规 律 是“ 上 北 下 南, 左 西 右 东”。下 面 是 一 个 边 界 布 局 的 例 子: </P>
<P>import java.awt.*; import java.applet.Applet; </P>
<P>public class buttonDir extends Applet { </P>
<P>Button buttonN, buttonS, buttonW, buttonE, buttonC; </P>
<P>public void init() { setLayout(new BorderLayout()); buttonN = new
Button("?reg;"); buttonS = new Button("火"); buttonE = new
Button("木"); buttonW = new Button("金"); buttonC = new Button("土");
add("North", buttonN); add("South", buttonS); add("East", buttonE);
add("West", buttonW); add("Center", buttonC); } } </P>
<P>下 面 是 该 程 序 运 行 的 结 果: </P>
<P>图 6.2 </P>
<H4 align=center>6.1.1.3 网 格 布 局</H4>
<P>网 格 布 局 把 面 板 分 成 一 个 个 的 网 格, 你 可 以 给 出 网 格的 行 数 和 列 数。 下 面 是 一
个 网 格 布 局 的 例 子: </P>
<P>import java.awt.*; import java.applet.Applet; </P>
<P>public class buttonGrid extends Applet { Button button1, button2,
button3, button4, button5, button6, button7, button8; </P>
<P>public void init() { setLayout(new GridLayout(4,2)); button1 =
new Button("乾"); button2 = new Button("坤"); button3 = new
Button("艮"); button4 = new Button("震"); button5 = new Button("坎");
button6 = new Button("离"); button7 = new Button("巽"); button8 = new
Button("兑"); add(button1); add(button2); add(button3); add(button4);
add(button5); add(button6); add(button7); add(button8); } } </P>
<P>下 面 是 该 程 序 运 行 的 结 果: </P>
<P>图 6.3 </P>
<H2 align=center>6.2 按 钮 </H2>
<H3 align=center>6.2.1 按 钮 事 件</H3>
<P>用 户 点 一 下 按 钮, 就 会 有 一 个 按 钮 事 件 发 生。 你 可 以 通过 覆 盖 一
个applet的action成 员 函 数 来 捕 捉 按 钮 事 件。 </P>
<P>public boolean action (Event e, Object o) { if (e.target
instanceof Button) { system.out.println ((string) o); } else {
System.out.println ("Non-button event"); } return true; } </P>
<H3 align=center>6.2.2 按 钮 类 型 </H3>
<P>Java提 ?copy; 了 标 准 的 按 压 式 按 钮, 同 时 也 提 ?copy; 了 选择 式 按 钮 和 标 记 式
按 钮。 </P>
<H4 align=center>6.2.2.1 选 择 式 按 钮 </H4>
<P>选 择 式 按 钮 提 ?copy; 了 从 几 个 选 项 中 选 一 个 选 项 的 功能。 下 面 是 从 几 个 市 中
选 一 个 市 的 例 子, 市 名 放 在 选 择 式按 钮 中: </P>
<P>CityChooser = new Choice(); </P>
<P>CityChooser.addItem("北 ?copy;"); CityChooser.addItem("上海");
CityChooser.addItem("天 津"); </P>
<P>add(CityChooser); </P>
<P>图 6.4 </P>
<H4 align=center>6.2.2.2 标 记 式 按 钮</H4>
<P>标 记 式 按 钮 的 状 态 作 为 标 记 框 事 件 的 对 象 参 数 返 回。下 面 是 一 个 标 记 式 按 钮 的
例 子: </P>
<P>Checkbox fillStyleButton; fillStyleButton = new
Checkbox("Solid"); </P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -