- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
E^CfipliOnS
E^CfipliOnS - AHTExcept icn Errors - AWTEnor
Java就业培训教程第九章 GUI
9.1常用AWT组件
在上一章开始的第一个程序中,我们就用到了按钮(Button),这是最简 单的组件之一了,在AWT里还有专门多用于GUI设计的组件,我们现在 就来了解更多的GUI组件。如图9.1所示描述了 AWT中的组件及类层次关 系图。
Borderzayoutjava. I irig.Objectjava .-awt -geoD. DlEnenslan^D■iiritComponent_ M^IlLLBEkrt ent——Mffllii -- PqpupMaliiCI
Borderzayout
java. I irig.Object
java .-awt -geoD. DlEnenslan^D
■iirit
Component
_ M^IlLLBEkr
t ent—
—Mffllii -- PqpupMalii
CI 1£ ckbJ^Xt-]^ j ILLI L q:]L
:.-.1. I . 1 .1. J .出匚 L L1 L
- Applet (java.dfplet packa^*}
checkbcxGroup
Colcx
Ev^irit
Font FlovLayaut. FantMetitcs 乜t也ph工亡自
QridBagLayont Or idIayouL Image
PA lygen. Rectangle! Toolkit
Dutton
Canvtis.
Checkbox choice
Cort七吉:—- Label
List
TextCompcnenb—-
Window^ _
ScrcllPciiid
D£a.lcg— - — Fl
Frame
Te-xt^rea TfixtField
图9.1
Compo nent 类
Java的图形用户界面的最差不多组成部分是组件, 组件是一个能够以图
形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一 个标签等。抽象类Compo nent是所有Java GUI组件的共同父类。Comp one nt类规定了所有GUI组件的差不多特性,该类中定义的方法实现了作为一 个GUI组件所应具备的差不多功能。Java程序要显示的GUI组件必须是抽 象类 Comp onent 或 Menu Comp onent 的子类。
Can vas
Canvas代表屏幕上的一块空白的矩形区域,程序能够在那个部件表面绘 图,也能够捕捉用户的操作,产生相应的事件, Canvas能够讲是具有最差
不多的和最简单的GUI功能的部件。当我们要设计一种自己定制的具有 G
UI功能的部件类,我们的那个类就能够继承 Canvas,如此,我们的部件类 就差不多完成了 GUI的差不多功能,我们只需要在那个基础上增加子类部 件所专有的外观和功能的有关代码就行了,我们要想绘制子类部件的外观, 我们必须覆盖Canvas的paint方法。
我们现在设计一个计时器部件,鼠标在部件上按下时,计时器开始计时, 并在部件上显示计时时刻,鼠标开释时,计时器停止计时。下面是那个计 时器的程序代码,其中涉及到的技巧和知识点,都在前面有过讲解,那个 地点就不作详细讲明了。
程序清单:TestStopWatch.java
import java.awt.*;
import java.awt.eve nt.*;
import java.util.*;
import java.text.SimpleDateFormat;
class StopWatch extends Canvas implements Runnable
{
private long startTime = 0;
private long en dTime = 0;
private boolea n bStart = false;
public StopWatch()
{
en ableEve nts(AWTEve nt.MOUSE_EVENT_MASK); setSize(80,30);
}
protected void processMouseEvent(MouseEvente)
{
if(e.getlD() == MouseEve nt.MOUSE_PRESSED)
{
bStart = true;
startTime = en dTime = System.curre ntTimeMillis();
repa in t();
new Thread(this).start();
}
else if(e.getID() == MouseEve nt.MOUSE_RELEASED)
{
bStart =
您可能关注的文档
最近下载
- 《电商生鲜配送发展中的问题及其对策—以盒马鲜生为例》16000字.docx VIP
- 2024高二地理期末复习选必1知识点清单 .pdf VIP
- 生鲜电商的发展问题及对策—以盒马鲜生为例.pdf VIP
- 生鲜电商的发展问题及对策——以盒马鲜生为例.docx VIP
- 田字格word模板(3)最好.doc VIP
- 2024学年九年级上学期第一次月考数学试题及参考答案 .pdf VIP
- 新零售背景下生鲜企业的发展研究——以盒马鲜生为例.docx VIP
- 连锁零售企业物流配送发展现状、问题及对策研究——以盒马鲜生为例.docx VIP
- 桥架多少钱一米?安装大概多少钱?桥架国标厚度是多少?.docx VIP
- 第八章海洋肽类教材.ppt VIP
文档评论(0)