Java就业培训教程第九章 GUI(下)

Java就业培训教程第九章 GUI(下)

ID:37567302

大小:3.69 MB

页数:29页

时间:2019-05-25

Java就业培训教程第九章 GUI(下)_第1页
Java就业培训教程第九章 GUI(下)_第2页
Java就业培训教程第九章 GUI(下)_第3页
Java就业培训教程第九章 GUI(下)_第4页
Java就业培训教程第九章 GUI(下)_第5页
资源描述:

《Java就业培训教程第九章 GUI(下)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第9章GUI(下)9.1常用AWT组件在上一章开始的第一个程序中,我们就用到了按钮(Button),这是最简单的组件之一了,在AWT里还有很多用于GUI设计的组件,我们现在就来了解更多的GUI组件。如图9.1所示描述了AWT中的组件及类层次关系图。图9.19.1.1Component类Java的图形用户界面的最基本组成部分是组件,组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。抽象类Component是所有JavaGUI组件的共同父类。Component类规定了所有GUI组件的基本特性,

2、该类中定义的方法实现了作为一个GUI组件所应具备的基本功能。Java程序要显示的GUI组件必须是抽象类Component或MenuComponent的子类。9.1.2Canvas296Canvas代表屏幕上的一块空白的矩形区域,程序能够在这个部件表面绘图,也能够捕获用户的操作,产生相应的事件,Canvas可以说是具有最基本的和最简单的GUI功能的部件。当我们要设计一种自己定制的具有GUI功能的部件类,我们的这个类就可以继承Canvas,这样,我们的部件类就已经完成了GUI的基本功能,我们只需要在这个基础上增加子类部件所专有的外观和

3、功能的相关代码就行了,我们要想绘制子类部件的外观,我们必须覆盖Canvas的paint方法。我们现在设计一个计时器部件,鼠标在部件上按下时,计时器开始计时,并在部件上显示计时时间,鼠标释放时,计时器停止计时。下面是这个计时器的程序代码,其中涉及到的技巧和知识点,都在前面有过讲解,这里就不作详细解释了。程序清单:TestStopWatch.javaimportjava.awt.*;importjava.awt.event.*;importjava.util.*;importjava.text.SimpleDateFormat;cla

4、ssStopWatchextendsCanvasimplementsRunnable{privatelongstartTime=0;privatelongendTime=0;privatebooleanbStart=false;publicStopWatch(){enableEvents(AWTEvent.MOUSE_EVENT_MASK);setSize(80,30);}protectedvoidprocessMouseEvent(MouseEvente){if(e.getID()==MouseEvent.MOUSE_PRESS

5、ED){bStart=true;startTime=endTime=System.currentTimeMillis();repaint();newThread(this).start();}elseif(e.getID()==MouseEvent.MOUSE_RELEASED){bStart=false;repaint();}super.processMouseEvent(e);}publicvoidpaint(Graphicsg){SimpleDateFormatsdf=newSimpleDateFormat("HH:mm:s

6、s");DateelapsedTime=null;296try{elapsedTime=sdf.parse("00:00:00");}catch(Exceptione){}elapsedTime.setTime(endTime-startTime+elapsedTime.getTime());Stringdisplay=sdf.format(elapsedTime);g.drawRect(0,0,78,28);g.fill3DRect(2,2,75,25,true);g.setColor(Color.RED);g.drawStri

7、ng(display,10,20);}publicvoidrun(){while(bStart){try{Thread.sleep(500);}catch(Exceptione){e.printStackTrace();}endTime=System.currentTimeMillis();repaint();}}}publicclassTestStopWatch{publicstaticvoidmain(String[]args){Framef=newFrame("StopWatch");f.add(newStopWatch()

8、);f.setSize(200,200);f.setVisible(true);f.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。