第7章 图形用户界面设计与实现

第7章 图形用户界面设计与实现

ID:39818410

大小:546.50 KB

页数:73页

时间:2019-07-12

第7章 图形用户界面设计与实现_第1页
第7章 图形用户界面设计与实现_第2页
第7章 图形用户界面设计与实现_第3页
第7章 图形用户界面设计与实现_第4页
第7章 图形用户界面设计与实现_第5页
资源描述:

《第7章 图形用户界面设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学习导读首先,我们学习一些基本的图形编程知识,包括窗口的显示及外观设置、在窗口中显示文字和图像等;接下来,介绍Java的事件处理机制,例如如何在程序中接收并处理如键盘按键和鼠标点击等“事件”;最后,系统地介绍图形用户界面中常用组件的用法,如布局管理器、文本框、复选框、菜单、对话框等。第七章图形用户界面的设计与实现教学重点与难点:框架的组成及外观在框架中显示文本和图形字体和颜色的设置Java的事件处理机制窗口事件、焦点事件、键盘事件、鼠标事件的处理Swing各种组件的用法7.1图形用户界面概述Java1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是希望构建一个通用的GUI,使

2、得利用它编写的程序能够运行在所有的平台上,以实现Sun公司提出的口号“一次编写,随处运行”。在Java1.2中,Sun公司推出了新的用户界面库:Swing。相对AWT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。但是,Swing并没有代替AWT。在Java1.1中,AWT事件处理模型有了根本改变。Swing使用的仍然是Java1.1的事件处理模型。7.2简单图形用户界面7.2.1第一个图形用户界面在Java中,顶层窗口称为框架。在AWT库中,对应于框架的类是Frame,在Swing库中,相应的类是JFrame。JFrame类扩展了Fram

3、e类。大部分AWT组件在Swing中都有等价的组件,它们在表示形式上差一个“J”。框架是一个容器,我们可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。【例7.1】显示一个空框架importjavax.swing.*;publicclassFirstFrame{publicstaticvoidmain(String[]args){SimpleFrameframe=newSimpleFrame();//设置用户关闭框架时的响应动作frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//显示

4、该框架frame.show();}}classSimpleFrameextendsJFrame{publicSimpleFrame(){//设置框架大小setSize(WIDTH,HEIGHT);}publicstaticfinalintWIDTH=300;publicstaticfinalintHEIGHT=200;}运行结果7.2.2框架外观JFrame类的继承层次图Component类是所有GUI对象的祖先,Window类是Frame类的父类,JFrame类直接从Frame继承而来。对于框架外观的操作比较重要的方法如下:setIconImage——窗口最小化(在Java中称

5、为图标化)时,把一个Image对象用作图标。setTitle——设置窗口中标题栏的文字。setResizable——设置用户是否可以改变框架大小。dispose方法——关闭窗口,并回收该窗口的所有资源。setLocation——设置组件的位置。setBounds——重新设置组件的大小和位置。【例7.2】框架外观的设置设置具有以下特征的框架:它的高度和宽度为整个屏幕的1/3;自定义窗口的标题和图标;窗口的大小不可变。程序代码见FrameSizeSet.java。运行结果如下:图标标题最大化按钮失效7.2.3在框架中显示信息JFrame包含了四个窗格:RootPane、Layered

6、Pane、GlassPane和ContentPane。如果需要将一些图形用户界面元素加入到框架中,我们需要在面板组件(JPanel)中进行绘制,然后将该面板组件加入到框架的内容窗格(ContentPane)中。相应的代码如下://得到JFrame的内容窗格对象ContainercontentPane=getContentPane();Componentc=...;//将组件加入到内容窗格中contentPane.add(c);面板JPanel类本身是容器,它可以容纳其他图形用户界面元素,如按钮、菜单等。为了在面板中进行绘制,需要重载JComponent类的paintCompone

7、nt方法。classMyPanelextendsJpanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);...//相关的绘制代码}}paintComponent方法是自动执行的,当窗口需要被重新绘制时,如用户缩放窗口,或还原已最小化的窗口时,系统就会自动调用该方法。在框架中显示文本信息的方法:g.drawString(text,x,y)【例7.3】在框架中显示信息程序代码见HelloWorld.java

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

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

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