Java程序设计基础 教学课件 ppt 作者 肖孟强 第10章

上传人:E**** 文档编号:89368731 上传时间:2019-05-24 格式:PPT 页数:99 大小:184KB
返回 下载 相关 举报
Java程序设计基础 教学课件 ppt 作者  肖孟强 第10章_第1页
第1页 / 共99页
Java程序设计基础 教学课件 ppt 作者  肖孟强 第10章_第2页
第2页 / 共99页
Java程序设计基础 教学课件 ppt 作者  肖孟强 第10章_第3页
第3页 / 共99页
Java程序设计基础 教学课件 ppt 作者  肖孟强 第10章_第4页
第4页 / 共99页
Java程序设计基础 教学课件 ppt 作者  肖孟强 第10章_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《Java程序设计基础 教学课件 ppt 作者 肖孟强 第10章》由会员分享,可在线阅读,更多相关《Java程序设计基础 教学课件 ppt 作者 肖孟强 第10章(99页珍藏版)》请在金锄头文库上搜索。

1、第10章 综合实例,综合实例1:计算器 本节通过一个计算器的设计来综合运用所学的相关知识,达到巩固知识的目的。 程序功能 一个简单的计数器程序。用户可以利用鼠标单击数值或操作符按钮完成计算,计算的结果被显示在窗口上部的文本框中。,知识点 1AWT包; 2Java的数据类型; 3用户自定义类; 4窗体的布局; 5窗口的字体设置。,设计步骤 1创建一个空的窗口; 2定义用于显示结果的文本显示类; 3完成窗口的布局; 4为窗口添加事件处理。,基础知识 同Java的其他功能一样,窗口的实现同样需要类库中类的支持,Java中的AWT包,就包含了实现窗口应用程序的各种元素以及事件的处理。 下面我们介绍一下

2、AWT包以及有关变量数据类型的基础知识。,1AWT AWT(Abstract Window Toolkit)即抽象窗口工具集,作为Java中的一个包,它提供了各种用于GUI(图形用户界面)设计的标准构件。每个构件都有自己特定的用法,如按钮、列表框等,这些构件都是通过继承AWT中的Component类来实现的。总体上来讲,AWT中的构件分为两大类:基础构件和容器。,(1)基础构件 基础构件是构成图形用户界面的基础元素。通过这些构件,我们可以向Java应用程序发出自己的控制命令,向程序输入各种数据,甚至可以在这些构件基础上生成符合我们特殊需要的自定义构件等。这些基础构件包括:,Button:按钮,

3、用于完成一个命令。 CheckBoxGroup:复选框,用于同时进行多个选择。 CheckBox:单选框,用于在一组中选取一项。 Choice:组合框,用于创建一个弹出式的选择菜单。,List:列表框,用于创建一个选择列表。 Menu:菜单,用于创建菜单系统。 TextField:文本框,用于输入单行文本。 TextArea:多行文本框,用于输入多行文本。 Canvas:画布,用于进行绘图。 ScrollBar:滚动条,用于在指定范围内选择一个值来浏览窗口。,(2)容器 容器是一类特殊的构件,它是用来包含其他构件的,构件必须放在容器中才能构成界面。用户可以把构件放在容器中,也可以把容器放在另一

4、个容器中。 AWT中提供了4个容器类,对它们分别介绍如下。,Window类:最高级别地显示窗口。它的实例不能附加或嵌入另一个容器中,它的实例是没有边框和标题的。 Frame类:具有边框和标题的最高级别显示窗口。可以添加菜单。 Dialog类:具有边框和标题的最高级别显示窗口。Dialog类的实例只有在一个相关的Frame类的实例存在时才能存在。,Panel类:容纳构件的通用容器。 当然将构件放入容器中是需要一定的布局方式的,这种布局方式是由布局管理器来确定的。每一个容器都有自己的一个布局管理器。 为了让大家能够更好地完成计算器这个程序,下面我们介绍一下Java中有关数据类型的知识。,2Java

5、的数据类型 概括地说,Java中存在两大数据类型:简单数据类型和复杂数据类型。简单数据类型又可以分为数值类型、布尔类型、字符类型等。其中简单数据类型可以直接被编译器所理解,而不需要借助于特殊的库来定义。复杂数据类型主要有两种:数组类型和字符串类型。它的情况则刚好相反,需要一个特殊的库来为这些数据类型作出定义,以便编译器编译时调用。,编程思路 在这个计算器程序中,我们用到了AWT中的按钮构件、Canvas构件、Frame和Panel容器。同时,我们还使用了一个Label对象用于显示一些标识性文字。其中Canvas构件主要用于显示计算的结果以及用户的输入,为了使用的方便,Canvas构件进行了继承

6、,生成了一个新的文本显示区域,可以直接进行数字的显示。 下面,让我们看一下具体的实施步骤。,操作步骤 步骤1:创建一个新的应用程序AwtCalcJava,首先创建一个空的窗口。 package Calc; import java.awt.* ; import java.awt.event.* ; import java.awt.Graphics ;,public class AwtCalc extends Frame implements ActionListener public AwtCalc() super(“计算器“); setBackground(Color.lightGray);

7、resize(235,210); show(); ,public void actionPerformed(ActionEvent e) public void paint(Graphics g) g.drawRect(0,0,size().width-1,size().height-1); g.drawLine(0,0,0,size().height); ,public static void main(String args) AwtCalc ca=new AwtCalc(); ,这里的几个方法都是一个窗口程序所必须要有的。 在构造函数AwtCalc()中,super()是用来调用父类Fr

8、ame的构造函数,它的参数“计算器”作为窗口的标题来显示。另外我们也可以调用Frame类的setTitle(String)函数来设置窗口的标题。,SetBackground()方法是从java.awt.Component类继承而来的,用于设置窗口的背景色,resize(235,210)将窗口的大小设置为宽235个像素、高210个像素。最后调用show()方法显示窗口。 Paint()方法用一个Graphics对象作为参数,根据当前窗口的状态画出了该窗口。窗口被打开、改变大小或交换至前台显示的时候,就会自动调用Paint()方法。,ActionPerformed()方法用于对窗口应用程序进行事件

9、处理,目前窗口上没有任何构件,所以事件处理也为空。 最后,在Main()函数中,只要将我们创建的AwtCalc类进行实例化就可以运行窗口程序了。,步骤2:我们定义用于显示结果的文本显示类 , 用来继承 Canvas 构件。 package Calc; import java.awt.*;,public class ETextField extends Canvas String message=“; Boolean firstTime=true; Int x; public ETextField(int width,int height) setSize(width,height); ,pub

10、lic void setText(String text) firstTime=false; message=text; x+=3; repaint(); ,public void paint (Graphics g) g.drawRect(0,0, size().width-1,size().height-1); g.drawString(message,3,13); ,我们可以利用setText()方法来设置需要显示的字符串。程序将调用paint()方法来将文本显示在屏幕上。,步骤3:在窗口上添加需要的构件,用来完成窗口的布局。 首先,添加必要的变量定义: private Button b

11、uttons = new Button19; private String buttonText = “ 1 “ , “ 2 “, “ 3 “, “ + “, “ - “,“ 4 “, “ 5 “, “ 6 “, “ x “, “ / “, “ 7 “, “ 8 “, “ 9 “, “ “, “sqrt“, “ C “, “ 0 “, “ . “, “ = “; private ETextField result; / 结果显示框,private String input = “; / 用户的输入 private Label label; private Color forecolor, /

12、前景色 backcolor, / 背景色 fieldcolor; / 显示框颜色 private Font font, buttonfont;,然后在构造函数中添加如下代码,将构件添加到窗口上。 buttonfont = new Font( “Courier“, Font.PLAIN, 12 ); setBackground( Color.lightGray );,result = new ETextField( 125, 18 ); font = new Font( “宋体“, Font.ITALIC, 10 ); label = new Label( “结果“ ); label.setFo

13、nt( font ); result.setBackground( Color.white ); setLayout( new FlowLayout() ); /初始化按钮,Panel mainPanel=new Panel(); mainPanel.setLayout(new GridLayout(5,1); for ( int i = 0; i 19; i+ ) buttonsi = new Button( buttonTexti ); buttonsi.setFont( buttonfont ); buttonsi.addActionListener( this ); ,Panel pa

14、nel1=new Panel(); panel1.add( result ); panel1.add( label ); mainPanel.add(panel1); Panel panel2=new Panel(); panel2.add(buttons0); panel2.add(buttons1);,panel2.add(buttons2); panel2.add(new Label( “ “ ); panel2.add(buttons3); panel2.add(buttons4); mainPanel.add(panel2); Panel panel3=new Panel(); pa

15、nel3.add(buttons5);,panel3.add(buttons6); panel3.add(buttons7); panel3.add(new Label( “ “ ); panel3.add(buttons8); panel3.add(buttons9); mainPanel.add(panel3); Panel panel4=new Panel(); panel4.add(buttons10);,panel4.add(buttons11); panel4.add(buttons12); panel4.add(new Label( “ “ ); panel4.add(butto

16、ns13); panel4.add(buttons14); mainPanel.add(panel4); Panel panel5=new Panel();,panel5.add(buttons15); panel5.add(buttons16); panel5.add(buttons17); panel5.add(new Label( “ “ ); panel5.add(buttons18); mainPanel.add(panel5); add(“Center“,mainPanel); buttons15.setForeground( Color.red );,步骤4:添加事件的处理部分。 package test; import java.awt.*; import java.awt.event.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号