Java就业培训教程第九章GUI.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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 =

文档评论(0)

kunpeng1241 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档