第5章Java图形界面编程与事件响应

合集下载

Java语言程序设计第三版(谭浩强主编)课后答案下载

Java语言程序设计第三版(谭浩强主编)课后答案下载

Java语言程序设计第三版(谭浩强主编)课后答案下载Java语言程序设计第三版(谭浩强主编)课后答案下载《Java语言程序设计(第3版)》是2021年清华大学出版社出版的图书。

以下是由阳光网我整理关于Java语言程序设计第三版(谭浩强主编)课后答案下载地址,盼望大家喜爱!点击进入:Java语言程序设计第三版(谭浩强主编)课后答案下载地址Java语言程序设计第三版(谭浩强主编)图书简介Java是近年来十分流行的程序设计语言,又是一门通用的网络编程语言,在Internet上有着广泛的应用。

本书全面介绍了Java语言的功能和特点,主要内容包括Java语言基础学问、Java语法构成、面向对象编程技术、常用系统类的使用、图形用户界面设计、图形处理、多媒体处理、异样处理、多线程技术和访问数据库技术等内容。

本书以通俗易懂的语言介绍了大量的实例,从有用的角度解释了Java面向对象编程思想,介绍了Java编程技巧。

本书不仅适合没有编程阅历的读者学习,也适合有肯定程序语言基础的读者自学,本书可作为高等院校或计算机培训班的教材。

Java语言程序设计第三版(谭浩强主编)图书名目第1章Java语言概述1.1Java的起源1.2Java语言的特点1.3Java的运行机制1.4程序设计算法及描述1.5Java程序的开发过程1.5.1JDK的下载与安装1.5.2Java工具集与标准类库1.5.3Java程序的开发过程1.5.4源文件命名规范与解释语句1.5.5Java程序示例试验1习题1第2章Java语言基础2.1数据类型2.1.1Java的数据类型2.1.2常量与变量2.1.3变量赋值2.1.4关键字2.1.5转义符2.2基本数据类型应用示例 2.2.1整数类型与浮点类型 2.2.2字符型2.2.3布尔型2.2.4数据类型的转换2.3表达式和运算符2.3.1表达式与运算符分类 2.3.2算术运算符2.3.3关系与规律运算符2.4程序掌握语句2.4.1语句2.4.2键盘输入语句2.4.3顺序掌握语句2.4.4if选择语句2.4.5switch语句2.4.6循环语句2.4.7跳转语句试验2习题2第3章面向对象程序设计基础 3.1面向对象的基本概念3.2类3.2.1类的`定义3.2.2成员变量和局部变量 3.3成员方法3.3.1方法的定义3.3.2方法的调用3.3.3方法重载3.3.4构造方法3.4对象3.5面向对象特性3.5.1封装性3.5.2继承性3.5.3多态性3.5.4其他修饰符的用法 3.6接口3.6.1接口的定义3.6.2接口的应用3.7包3.7.1创建自己的包 3.7.2压缩文件jar试验3习题3第4章数组与字符串 4.1数组4.1.1一维数组4.1.2多维数组的应用 4.2字符串4.2.1字符串的表示4.2.2字符串的常用方法4.2.3StringTokenizer字符分析器 4.2.4正则表达式4.2.5main()中的参数4.3StringBuffer类试验4习题4第5章图形用户界面设计5.1图形用户界面概述5.2窗体容器和组件5.2.1窗体容器JFrame类5.2.2按钮和事件处理5.3面板容器和界面布局管理5.3.1面板JPanel类 5.3.2界面布局策略5.4JComponent类组件的使用5.4.1JComponent类组件5.4.2文本组件和标签5.4.3单项选择按钮、复选框和下拉列表5.4.4卡片选项页面(JTabbedPane)5.4.5滑杆(JSlider)和进度指示条(JProgressBar) 5.4.6表格(JTable)5.5菜单与对话框5.5.1菜单5.5.2弹出式菜单5.5.3对话框5.6树5.6.1树的概念5.6.2树的构造方法试验5习题5。

第5章图形用户界面

第5章图形用户界面
在Swing中使用JMenubar,JMenu和JMenuItem创建菜单。 菜单制作基本步骤如下: 1.使用JMenubar创建菜单条。 2.使用JMenu创建菜单。 3.使用JMenuItem创建菜单项。 4.将菜单项添加到菜单中,再将菜单添加到菜单条中,最后 将菜单条添加到窗口中。 5.为菜单项添加事件监听器。 6.编写事件处理代码。 注意:菜单条、菜单及菜单项的创建及添加操作没有先后顺 序要求。 例5-2
10.面板 由于JComponent继承于AWT的Container ,因此 JComponent的子类实例都可用于容器。但常用的用来承载 其他组件的容器有JPanel和JScrollPane两种。通过将组件 添加到面板中(面板中也可以添加其他面板),能够实现对组 件的分层管理,使组件布局更合理,界面更美观。 1)JPanel 面板 JPanel可以创建一个普通面板,可以向面板添加组件,然后 再将面板添加到顶层窗口中,JPanel面板的默认布局是 FlowLayout。 2)JScrollPane面板 JScrollpane可以创建一个带有滚动条的滚动面板,主要为一 些不带滚动条的组件添加滚动条,并可通过滚动条使用组件, 例如:JTextArea,JList。JScrollPane的默认布局为 ScrollPaneLayout,该布局将组件填满整个滚动面板。 例5-4
5.1 Java图形用户界面库概述
1.Java可选的图形用户界面库 1)AWT AWT(Abstract Window Toolkit)又称为抽象窗口工具集,它 是Java最早提供的图形用户界面库。通常AWT中的组件被 称为重量级组件。 2)Swing Swing是Java的另一个图形用户界面库,JDK1.2后引入。 Swing 继承于Awt,但Swing的功能更强大、性能更优化, 与AWT相比较,更能体现Java语言的跨平台性。 3)JavaFX 随着应用需求的提高,桌面应用程序中大量图片、音频、视 频的使用,AWT和Swing中的通用组件已逐渐无法满足应用 的需求,因此Java推出了JavaFX,以满足现代桌面应用的 开发需求。

《Java语言程序设计(一)》课后习题答案(课程编号04747)

《Java语言程序设计(一)》课后习题答案(课程编号04747)

《Java语⾔程序设计(⼀)》课后习题答案(课程编号04747)第⼀章 Java语⾔基础 (5)1.1 指出JA V A语⾔的主要特点和JA V A程序的执⾏过程。

(5)1.2 说出开发与运⾏JA V A程序的重要步骤。

(5)1.3 如何区分应⽤程序和⼩应⽤程序? (5)1.4 说出JA V A源⽂件的命名规则。

(5)1.6 JA V A语⾔使⽤什么字符集?共有多少个不同的字符? (5)1.7 JA V A语⾔标识符的命名规则是什么? (6)1.8 JA V A有那些基本数据类型,它们的常量⼜是如何书写的? (6)1.9 指出下列内容哪些是JA V A语⾔的整型常量,哪些是浮点数类型常量,哪些两者都不是。

(6)第⼆章运算和语句 (7)2.1 Java的字符能参加算术运算吗? (7)2.2 占字节多的变量能直接赋值给占字节少的变量么? (7)2.3 试⽤Java语⾔表达式描述以下数学计算式或逻辑条件: (7)2.4 设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。

(7)2.6 若⼀个数恰好等于它的因⼦之和,则这个数称为“完全数”。

编写程序求1000之内的所有完全数。

(7)2.7 编写输⼊正实数x,求平⽅不超过x的最⼤整数n,并输出。

(8)2.8 输⼊正整数n,输出由n⾏n列星号字符组成的三⾓形图案。

(11)2.9 设有整型变量x和y的值分别为5和110。

试指出执⾏了以下循环语句后,变量x和y的值分别多少? (12)2.10求⼩于999的所有⽔仙花数。

(12)2.11 编程序解百鸡问题:鸡翁⼀,值钱五;鸡母⼀,值钱三;鸡雏三,值钱⼀。

百钱买百鸡。

求鸡翁、鸡母和鸡雏各⼏何? (13)2.12 编写程序,按下⾯的公式计算⾃然对数底e的值:e=1+1/1!+1/2!+1/3!+1/4!+......(13)2.13 编写程序,⽤如下公式计算圆周率PI的近似值:PI=4-4/3+4/5-4/7+4/9-4/11...(14)2.14 回⽂整数是指正读法和反读相同的整数,编写⼀个程序,输⼊⼀个整数,判断他是否为回⽂整数。

《Java程序设计》第05章在线测试

《Java程序设计》第05章在线测试

《Java程序设计》第05章在线测试
A B
C D
A B
C D
A B
C D
A B
C D
A B
C D
D、Frame的默认布局管理器为BorderLayout
2、下列属于Swing构件的是()。

A、JMenu
B、JApplet
C、JOptionPane
D、Panel
3、下面哪些是Java中的容器()。

A、Frame
B、Panel
C、Scrollbar
D、Dialog
4、对JFrame添加构件有()方式。

A、用add方法直接加入到JFrame中。

B、建立一个Jpanel的中间容器,把构件添加到容器中,再把该容器置为JFrame的内容面板,再对其加入构
件。

C、建立一个JDesktopPane之类的中间容器,把构件添加到容器中,再把该容器置为JFrame的内容面板,再
对其加入构件。

D、用getContentPane()方法获得JFrame的内容面板,再对其加入构件。

5、在JAVA语言中,你的按钮要实现下面的功能:当鼠标按下按钮时,显示“鼠标已按下”;当释放按键时,显示“鼠标已释放”。

你必须具体定义接口MouseListener的()方法。

A、mouseClicked
B、mouseEntered
C、mousePressed
D、mouseReleaseed
第三题、判断题(每题1分,5道题共5分)
1、在Swing用户界面的程序设计中,容器不能被添加到其它容器中。

正确错误正确错误正确错误正确错误正确错误。

Java语言程序设计(第3版)(2018年清华大学出版社出版

Java语言程序设计(第3版)(2018年清华大学出版社出版

作者简介
沈泽刚,1964年生,男,汉族,渤海大学信息科学与技术学院副教授、硕士生导师,研究方向为计算机应用 技术。
谢谢观看
2018年4月1ห้องสมุดไป่ตู้,该教材由清华大学出版社出版。
内容简介
全书共18章,主要内容如下:
第1章介绍Java语言的起源和发展、Java开发环境的构建、简单Java程序的开发和运行、程序设计风格与文 档以及集成开发环境Eclipse的使用。
第2章介绍数据类型、常用运算符、表达式以及数据类型的转换等。
第3章介绍程序的流程控制结构,包括选择结构和循环结构。重点介绍if结构、switch结构、while循环、 do-while循环以及for循环结构。
Java语言程序设计(第3版)(2018 年清华大学出版社出版
2018年清华大学出版社出版的图书
01 成书过程
03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《Java语言程序设计(第3版)》是由沈泽刚主编,2018年清华大学出版社出版的21世纪高等学校计算机类 课程创新规划教材。该教材可作为高等院校计算机专业或相关专业的“Java程序设计”或“面向对象程序设计” 课程的教材,也可作为Java认证考试及编程爱好者的参考资料。
第7章介绍类的继承与多态,其中包括继承性、封装性、多态性以及对象转换等。
第8章介绍Java常用核心类,包括Object类、Math类、基本数据类型包装类等,另外介绍了Java8新增的日 期-时间API相关的类。
教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
该教材有配套教材——《Java语言程序设计(第3版)学习指导与习题解析》,书中提供了学习指导、实训 任务及编程练习的参考答案。

《Java程序设计》教案

《Java程序设计》教案

Java语言程序设计
教案
系部
教研室
课程名称Java语言程序设计适用班级
主讲教师
职称
课程基本信息
课程类型:计算机科学与技术专业与软件工程专业的专业必修课
课程教学总时数:48
教材:《Java语言程序设计》第4版,清华大学出版社
教学内容:本课程主要介绍Java编程技术,涉及具体内容包括面向对象编程方法,图形界面设计和事件接口处理,多线程并行运算,网络编程基础和数据库连接技术,异常错误处理机制等。

要求学生具有掌握Java语言和面向对象思想,并具有使用Java类库编写J2SE应用程序的能力。

课程的目的和任务:本课程是一门帮助学生掌握面向对象程序设计思想的基础性课程。

该课程一般在第二学年第一学期开设,以理论教学为主,配合一定的随堂实验环节。

通过本课程的教学,使学生能够初步运用Java技术和基本开发工具进行计算机程序设计。

培养学生用面向对象程序设计思想进行编程,启发学生的创新意识,提高学生在软件设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。

课程特点:实践性较强,需要理论联系实际。

考核方式:课程考核最终成绩采用百分制,具体由以下几个部分组成:
平时成绩:以作业、实验为评分内容,占总成绩20%;
考勤成绩:以课堂考勤为评分内容,占总成绩10%;
期中成绩:闭卷考试,占总成绩30%;
期末成绩:闭卷考试,占总成绩40%。

成绩必须达到60分以上才能取得本门课程学分。

Java图形用户界面设计

Java图形用户界面设计

13
(3) 事件监听器(Listener) 事件处理机制中的核心部分,主要的功能大致可以分为 两部分:第一,监听组件,观察组件有没有发生某类事 件;第二,如果监听的组件发生了某类事件,则调用对 应的动作处理方法立刻处理这个事件。 在Java事件处理机制中,监听器处于主体地位。与事件 分类对应,监听器也相应的分成若干种类型,例如,鼠 标事件对应鼠标监听器,键盘事件对应键盘监听器,窗 口事件对应窗口监听器等。
25
5.3.2 AWT组件库常用组件举例 【问题1】 在窗口f中,有一个文本框tf,三个按钮btn_1、 btn_2、btn_3。当使用鼠标点击btn_1时,文本框显示 btn_1按钮被点击,当使用鼠标点击btn_2按钮时,文本框 显示btn_2按钮被点击,当使用鼠标点击btn_3按钮或者窗 口f的关闭按钮时,窗口关闭,程序退出。
(4) Choice Choice表示下拉选择框组件,选择框中的每一个选项称 为一个Item,Item的类型一般为String字符串。 (5) Label Label表示标签组件,主要作用在于创建提示性的文本。
23
(6) MenuBar、Menu和MenuItem MenuBar表示菜单条组件,该组件由Menu菜单构成,而 Menu菜单又可由Menu菜单和MenuItem菜单项构成。 (7) TextField TextField表示文本框组件,与文本域组件不同的是, 文本框中只能有一行文本。 (8) TextArea TextArea表示文本域组件,可以容纳多行文本。
30
(3) JRadioButton和ButtonGroup 在Swing中与Checkbox对应的是JCheckBox,实际使用时, 如果需要创建单选框组的话,经常使用的是 JRadioButton而非JCheckBox。如果将多个JRadioButton 组件放在一个ButtonGroup中时,这些JRadioButton组件 将不再具有复选功能,而是只具有单选功能,也即变成 单选框。 (4) JComboBox JcomboBox对应于AWT中的Choice,表示下拉选择框组件, 选择框中的每一个选项称为一个Item,Item的类型一般 为String字符串,也可以是指定的泛型类型。

自考-java程序语言设计考试大纲

自考-java程序语言设计考试大纲

第一章Java语言基础1、Java语言的特点达到“领会”层次。

2、Java应用程序与小应用程序的特点和区别达到“识记”层次。

注释要求达到“简单应用”层次。

3、Java程序的开发环境能达到“简单应用”层次。

4、Java程序的标识符命名规则达到“简单应用”层次。

5、Java语言的关键字达到“领会”层次。

6、Java语言的基本数据类型达到“简单应用”层次。

第二章运算和语句1、理解常用运算符的语义,要求达到“识记”层次。

2、常用运算符,名手算述运算符、自增自减运算符、关系运算符和逻辑运算符,要求达到“综合应用”层次。

对条件运算和其他运算,要求达到“领会”层次。

3、Java语言语句的书写形式和语句的语义,要求达到“综合应用”层次。

4、使用包语句和导入语句,要求达到“识记”层次。

5、阅读Java程序,指出简单程序的功能或输出结果,编写简单的程序,要求达到“简单应用”层次。

第三章面向对象编程基础1、面向对象的基本概念:抽象、对象、消息、类、继承、封装、接口、多态性,要求达到“领会”层次。

2、类的声明、成员变量(实例变量、类变量)和方法(类方法和实例方法),构造方法、方法重载,要求达到“综合应用”层次,类的内存模型,要求达到“识记”层次。

3、声明对象、创建对象、对象的使用,要求达到“综合应用”层次。

4、对类的成员能设置访问权限:私有、共有、受保护、友好,要求达到“简单应用”层次。

5、继承声明新类的方法,多态性的概念,要求达到“综合应用”层次。

6、Java面向对象的其他设施:final类和final方法,abstract类和abstract方法,super关键字和this的用法,相关类之间的is-a和has-a关系,要求达到“识记”层次。

7、接口的概念,接口声明,接口使用,要求达到“综合应用”层次。

8、小应用程序与Applet类的关系,小应用程序结构和执行过程,要求达到“识记”层次。

init()方法、start()方法、stop()方法、destroy()方法、paint()方法和repaint()方法,要求达到“简单应用”层次。

java考试题库第五章

java考试题库第五章

5—1 下列关于容器的描述中,错误的是DA.容器是由若干个组建和容器组成的B.容器是对图形界面中界面元素的一种管理C.容器是一种对指定宽和高的矩形范围D.容器都是可以独立的窗口5-2 下列界面元素中,不是容器的是AA。

List B.Frame C。

Dialog D。

Panel5-3 下列关于实现图形用户界面的描述中,错误的是DA.放在容器中的组件首先要定义,接着要初始化B.放在容器中的多个组件是要进行布局的,默认的布局策略是FlowLayoutC.容器中所有组件都是事件组件,都可以产生事件对象D.事件处理是忧监听者定义的方法来实现的5-4 下列关于组件类的描述中,错误的是AA.组件类中包含了文本组件类(TextComponent)和菜单组件类(MenuComponent)B.标签(Label)和按钮(Button)是组件类(Component)的子类C.面板(Panel)和窗口(Window)是容器类(Container)的子类D.文本框(TextField)和文本区(TextArea)是文本组件类(TextComponent)的子类5—5 在对下列语句的解释中,错误的是Cbut。

addActionListener(this);A.but是某种事件对象,如按钮事件对象B.t his表示当前容器C.A ctionListener是动作事件的监听者D.该语句的功能是将but对象注册为this对象的监听者5—6 所有事件类的父类是CA.ActionEvent B.AwtEvent C.KeyEvent D.MouseEvent5—7 所有GUI标准组件类的父类是CA.Buttom B.List C.Component D.Container5-8 下列各种布局管理器中Window类、Dialog类和Frame类的默认布局是CA.FlowLayout B.CardLayout C.BorderLayout D.GridLayout5—9 在下列各种容器中,最简单的无边框的又不能移动和缩放的只能包含在另一种容器中的容器是D A.Window B.Dialog C.Frame D.Panel5-10 下列关于菜单和对话框的描述中,错误的是CA.Frame容器是可以容纳菜单组件的容器B.菜单条中可包含若干个菜单,菜单中又可包含若干菜单项,菜单项中还可包含菜单子项C.对话框与Frame一样都可作为程序的最外层容器D.对话框内不含有菜单条,它由Frame弹出5—1 AWT是抽象窗口工具包的英文缩写。

Java基础第5章编程题答案

Java基础第5章编程题答案

第五章编程题1.编写一个程序,实现字符串大小写的转换并倒序输出。

要求如下:(1)使用for循环将字符串“HelloWorld”从最后一个字符开始遍历。

(2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase()方法将其转换为大写字符。

(3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。

【参考答案】public class Chap5e {public static void main(String[] args) {String str="Hell5oWorld";char[] ch=str.toCharArray();StringBuffer s=new StringBuffer();for(int i=ch.length-1;i>=0;i--){if(ch[i]>='A'&&ch[i]<='Z')s.append(String.valueOf(ch[i]).toLowerCase());elseif(ch[i]>='a'&&ch[i]<='z')s.append(String.valueOf(ch[i]).toUpperCase());elses.append(String.valueOf(ch[i]));}System.out.print(s.toString());}}2. 利用Random类来产生5个20`30之间的随机整数并输出。

【参考答案】import java.util.Random;public class Chap5e {public static void main(String[] args) {Random r=new Random();for(int i=0;i<5;i++){System.out.println(r.nextInt(30-20+1)+20);}}}3. 编程. 已知字符串:”this is a test of java”.按要求执行以下操作:(1) 统计该字符串中字母s出现的次数(2) 取出子字符串”test”(3) 将本字符串复制到一个字符数组Char[] str中.(4) 将字符串中每个单词的第一个字母变成大写,输出到控制台。

Java游戏编程原理与实践教程课件 第5章--陈锐 夏敏捷主编

Java游戏编程原理与实践教程课件 第5章--陈锐 夏敏捷主编

3.前方P1是箱子 在前面2种情况中,只要根据前方P1处的物体就可以判断出工人是否可以移 动,而在第3种情况中,需要判断箱子前方P2处的物体才能判断出工人是否 可以移动。此时有以下可能: (1)P1处为箱子(Box)或者放到目的地的箱子(BOXONEND),P2处为 通道(GRASS); 工人可以进到P1方格;P2方格状态为箱子。修改相关位置格子的状态值。 (2)P1处为箱子(Box)或者放到目的地的箱子(BOXONEND),P2处为 目的地(END); 工人可以进到P1方格;P2方格状态为放置好的箱子。修改相关位置格子的 状态值。 (3)P1处为箱子(Box),P2处为墙(WALL); 退出规则判断,布局不做任何改变。 综合前面的分析,可以设计出整个游戏的实现流程
人民邮电出版社
第5章 推箱子游戏
经典的推箱子是一个来自日本的古老游戏,目的是在训练你 的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指 定的位置,稍不小心就会出现箱子无法移动或者通道被堵住 的情况,所以需要巧妙的利用有限的空间和通道,合理安排 移动的次序和位置,才能顺利的完成任务。
游戏规则 可以假设工人移动趋势方向向右,其他方向原理是一致的。P1,P2分别代表工 人移动趋势方向前两个方格。
1.前方P1是围墙 如果工人前方是围墙(即阻挡工人的路线) { 退出规则判断,布局不做任何改变; } 2.前方P1是通道(GRASS)或目的地(END) 如果工人前方是通道或目的地 { 工人可以进到P1方格;修改相关位置格子的状态值。 }
每个格子状态值分别用枚举类型值: // 定义一些常量,对应地图的元素 final byte WALL = 1, BOX = 2, BOXONEND = 3, END = 4, MANDOWN = 5, MANLEFT = 6, MANRIGHT = 7, MANUP = 8, GRASS = 9, MANDOWNONEND = 10,MANLEFTONEND = 11, MANRIGHTONEND = 12, MANUPONEND = 13; Wall(1)代表墙,Box(2)代表箱子,BOXONEND(3)代表放到目的地的箱子, END(4)代表目的地; MANDOWN(5)向下的人,MANLEFT(6)向左的人MANRIGHT(7)向右的人, MANUP(8)向上的人;GRASS(9)代表通道。 MANDOWNONEND(10)站在目的地向下的人,MANLEFTONEND(11)站在目的地向 左的人,MANRIGHTONEND(12)站在目的地向右的人,MANUPONEND(13)站在目 的地向上的人。 存储的原始地图中格子的状态值数组采用相应的整数形式存放。

第五章GUI程序设计与常用组件

第五章GUI程序设计与常用组件
第五章 GUI程序设计 及事件驱动机制
GUI-- 图形用户界面
事件驱动机制
教学内容
5.1 图形用户界面概述 5.2 事件驱动设计 5.3 Swing容器和组件 5.3 Swing的基本组件 5.5 布局管理器 5.6 Swing其它组件
教学目标
掌握使用Swing编写图形用户界面程序的基本 方法
javax.swing.JFrame
java.awt.Dialog java.awt.Panel
javax.swing.JDialog javax.swing.JPanel
java.applet.Applet
java.swing.JApplet
java.awt.Button
javax.swing.JButton
本单位。组件是一个可以以图形化的方式 显示在屏幕上并能与用户进行交互的对象,
例如:一个按钮,一个标签等。
组件不能独立地显示出来,必须将组件放 在一定的容器中才可以显示出来。
5.1.1 GUI组成元素分类(续)
3.用户自定义成份 除了上述的标准图形界面元素外,编程人
员还可以根据用户的需要,使用各种字型字 体和颜色设计一些几何图形、标志图案等, 它们被称作用户自定义成份。
5.1.2 AWT和Swing介绍

---- 其它类
▪ 事件类:描述各种事件的类,包括Event类、

AWTEvent类及其子类。
▪ 字体类:用来表示字体的类,通过它可以在

GUI中使用多种系统支持的字体。
▪ 图象类:用来表示与处理图象的类

(GIF、JEPG)。
▪ 颜色类:封装了各种颜色。
▪ 其他类:光标类、各种几何类等 ……

Java桌面程序开发第5章-使用Swing常用组件

Java桌面程序开发第5章-使用Swing常用组件
教学要求 1.掌握:Swing各种常用组件的使用,包括图形用户界
面所需要的基本组件、选择型组件,菜单等的创建和使用 2.理解:工具栏的创建,对话框的创建和使用
5.1 GUI的基本元素:标签、按钮、文本框
1.JLabel
• JLabel类是一个用来显示文本的类,文本就是一个字符串。在程 序中指定要显示的字符串,但该字符串在运行时不能被用户修改
密码文本框是用来输入密码的文本框。
密码框继承单行文本框,所以密码框只显示单行输入框。 但是,与单行文本框不同的是,密码框输入的文字将不会 正常显示出来,而是使用其它字符代替。
可以通过调用setEchoChar(char c)来更改显示字符。密 码框的作用是防止别人看到所输入的文字信息。
JPasswordField的构造方法:
JCheckBox类继承JToggleButton类,而JToggleButton类 实现一个反选按键,只有按下和释放两种状态。复选框也 有类似功能,只有选择和不选择两种状态,而且复选框可 由多个按钮组成一个组群。
定义它们之间的间隔。 • int getHorizontalAlignment():返回标签内容沿 X 轴的对齐方式。 • int getVerticalAlignment() :返回标签内容沿 Y 轴的对齐方式。 • void setLabelFor(Component c):设置将标签添加到的组件。
区要换行)。
实例
例5-10 使用JTextArea
例5-11 从一个文本区复制选中的文字到另一个文本区
5.3 选择型组件
Java提供了很多的选择型组件,用户可通过单击选定,免 去了输入文本的麻烦。
常用的选项组件有单选框,复选框,列表框,组合列表框 等。

图形用户界面设计

图形用户界面设计
13
【例】测试Button类的Applet。用户界面如图1所示。源程 序代码如下:
//程序文件名UseButton.java import java.awt.*; import java.applet.*; public class UseButton extends Applet {
String str1 = new String(); //声明按钮对象 Button b1; Button b2;
14
public void init() {
//构造对象 b1 = new Button(); b2 = new Button("按钮对象2"); //添加到界面 this.add(b1); this.add(b2); } public void start() {
15
b1.setLabel("按钮对象1"); str1 = b2.getLabel(); repaint(); } public void paint(Graphics g) { g.drawString("获取第二个对象的标签:" + str1,20,30); } }
String str1 = new String(); boolean b1 = false; boolean b2 = false;
23
Checkbox c1,c2,c3; Checkbox cRadio1,cRadio2; CheckboxGroup c; public void init() {
第五章 图形用户界面设计
1. 概述 2. 基本控制组件 3. 事件处理 4. 布局设计 5. 常用容器组件
1
概述
• 用户界面(User Interface) • 用户与计算机系统(各种程序)交互的接口

java第五章习题及答案

java第五章习题及答案
一.填空题:
1.Internet/Intranet Server(服务器),客户端
2.初始化、启动、停止、退出
3.事件
4.ActionEvent,ActionListener,actionPerformed(ActionEvent e)
5.CheckboxGroup,Checkbox,Choice,List,ItemEvent
result.setText(j.toString(i));
}
catch(ArithmeticException ee){
result.setText("divided by zero");
}
}
}
class clearL implements ActionListener{
public void actionPerformed(ActionEvent e){
TextField result=new TextField(10);
Label la1=new Label("first data:");
Label la2=new Label("second data:");
Label la3=new Label("equal:");
Button plus=new Button("+");
二.选择题:
4.b5.A6.A7.a
二.编程题:
1.
importjava.applet.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassExampleextendsAppletimplementsActionListener{

Java编程基础及应用(第2版)教学课件第5章 类和对象

Java编程基础及应用(第2版)教学课件第5章 类和对象
变量定义及初始化;〃声明成员变量 [方法修饰字]返回值的数据类型方法名称(参数1,参数 2...)
{ 程序语句! 〃定义成员方法 [return表达式];
} }
7
§5.1.2 类的定义
说明: (1) class关键字,用于定义类。“class类名”是类的声明 部分, 类名必须是合法的Java标识符,通常第一个字母大写 ,能体现类的功能和作用。 (2 )类的修饰字有:[public] > [abstract | final] 、缺省方式 为 friendly。其中,abstract类不能直接产生属于这个类的对 象;final类不能被其他任何类所继承;public类不但可以被同 一程序包中的其他类使用,别的程序包中的类也可以使用; friendly(缺省)类只能被本包中的其他类使用。
一个对象 就要为对象的各个成员变量分配存 储空间,可以通过 引用对象的成员来使用对 象。 -对象数据成员的引用方式如下:
-对象成员方法的引用方式如下:
22
§5.1.3 对象的创建、使用及清除
例5.3定义DogTestl类,创建该类对象dog,使用该对象 并输
岀相应信息。
程序运行结果: dog阿黄的年龄:3,毛发的颜色:黄色 狗在汪汪叫…
(4) 方法不能嵌套,即不能在方法中再声明其他方法。 (5) 同一个类中的方法可以访问该类的成员变量。 (6) 一个类的方法只能访问自己的局部变量。
17
§5.1.2 类的定义
-例5.1定义Dog类,并设置其属性和方法。
在上面的程序屮,Dog类定义了name、age和color三 个属性,分别表示狗的姓名、年龄和毛发颜色,然后 定义了一个bark()方法,表明狗有汪汪叫的能力。
返回值的 类型和访问限制;方法体由括号内的声明部分和语 句部分组成,描述方法的功能。

第5章 基于Swing的图形化用户界面_1布局管理器与事件处理 - 全

第5章 基于Swing的图形化用户界面_1布局管理器与事件处理  - 全
AWT ( 重量级组件)
通过 java.awt 包
创建 GUI
容器 组件 布局管理器
包含 AWT 容器组件
以图形表示的对象允许用户交互
AWT 包 含 内 容
定义 GUI 组件的位置
使用 AWT 图形方法相对于窗口绘制图形
图形和绘制方法
字体 事件
创建并构造用于选择新字体的对象 用于用户和系统交互
AWT类结构
框架JFrame


JFrame是放置其他Swing组件的顶级容器。
JFrame用于在Swing程序中创建顶层窗口。 默认情况下,框架的尺寸是没有实际意义的0X0像素。 为了设定合适的框架大小,要调用框架的setSize方法。

默认情况下,框架在创建时是不可见的。为了显示框架 ,要调用框架的setVisible方法。
AWTEvent Font Component ng.object Graphics MenuComponent 布局管理器类 Window Frame Container
Panel
Applet
Swing概述
通过 Swing (轻量级组件,纯Java组件) Javax.swing 包 创建 GUI

默认情况下,当用户关闭一个框架时,该框架会隐藏起
来,程序不会终止,调用setDefaultCloseOperation。
JFrame应用示例
创建具有以下特征的窗口: • 自定义窗口的标题; • 窗口的大小不可变(300,200); • 窗口居中显示。
标题
最大化按钮 失效
JFrame应用示例
import javax.swing.*; class App5_1 { public static void main(String[] args) { JFrame f=new JFrame("第一个Java窗口"); //创建容器 f.setSize(300,200); //设置容器大小 f.setLocationRelativeTo(null) ; //框架居中 f.setVisible(true); //设置框架可见性 f.setResizable(false); //设置不能改变框架大小 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

第5章 Java面向对象编程进阶

第5章  Java面向对象编程进阶

•{

……; //类体:包含属性和方法
•}
• “extends”表明要构造的新类(子类),是从一 个已有的类(父类)衍生出来的。子类中继承了 父类中非private的全部属性和方法,同时还可以 定义新的属性的方法。
5.3.2 覆盖父类中的方法
• 使用继承的过程中,可以实现方法的重载。在第 五章中曾经介绍过,方法重载实现了对同一个方 法名的复用,只是存在于父类和子类之间。当父 类中的一个方法在它的子类中重新获得定义时, 若该方法的方法名、参数、返回值类型均不变, 只有方法体发生了变化时,就称子类的方法重载 了父类方法。
5.3.4 super关键字的使用
• 当子类继承父类后,若要在子类中直接调用父类 的构造方法,就必须使用super(…)语句,但需要 注意以下两点:
• (1)若要在子类构造方法中调用父类构造方法, super(…)语句必须放在子类构造方法中的第一行;
• (2)不能在子类构造方法中同时调用this(…)和 super(…)语句,因为这两条语句都必须位于子类 构造方法中的第一行。
5.5.2 成员变量在接口中的使用
• 2.接口中成员变量的作用 • 接口相当于一份契约,契约具有的属性应该是不
变的,因此接口内只能放置常量。这样做能够保 证实现该接口的任何类都可以访问相同的常量, 不能动态将其值随意进行修改,同时使用声明的 常量也会增强代码的可读性。
5.5.3 方法在接口中的使用
第5章 Java面向对象编程进阶
5.1 内部类和匿名类
• 在此之前,本书介绍的类中,都只是由属性和方 法构成的,而在实际编程中,一个类的内部也可 以包含一个类,并将这个类称之为内部类。在这 一节中,将介绍Java语言中内部类的概念和用法。 这也是Java程序中比较高级的一种用法,还会用 实际的例子来介绍其使用方法。
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.1 抽象窗口工具集AWT 5.1 抽象窗口工具集AWT
设计Java图形用户界面(GUI, Graphics User
5.1 抽象窗口工具集AWT(续1完)
java.awt AWT核心包,包括组件类,事件类等
5.2 Java图形类(续1) 5.4 容器与容器类组件
(1)容器有一定范围,容器一般都是矩形,容器范围边界可
5.4 容器与容器类组件(续1) 5.4 容器与容器类组件(续2完) 5.5 Java事件类(续1) 5.5 Java事件类(续2完)
5.6 Java事件响应机制 5.6 Java事件响应机制(续1)
5.6 Java事件响应机制(续2) 5.6 Java事件响应机制(续3) 5.6 Java事件响应机制(续4) 5.6 Java事件响应机制(续5) 5.6 Java事件响应机制(续6) 5.6 Java事件响应机制(续7)
5.6 Java事件响应机制(续8)
组件可以响应的事件
5.6 Java事件响应机制(续9)
5.6 Java事件响应机制(续10)例5.1一个多监听的例子。

5.6 Java事件响应机制(续11) //第一个内嵌事件响应类
5.6 Java事件响应机制(续12) //第二个内嵌事件响应类5.6 Java事件响应机制(续13) //第三个内嵌事件响应类
5.6 Java事件响应机制(续14) public void display()5.6 Java事件响应机制(续15完)
public static void main(String args[])
{ C5_1 c=new C5_1();
c.display();
}
Ch5-26
5.7 Java事件适配器 5.7 Java事件适配器(续1)
Listener接口对应的Adapter抽象类
5.7 Java事件适配器(续2)
例5.2将例5.1改造成Adapter类事件处理方式。

5.7 Java事件适配器(续3完) class MyEvent2 extends WindowAdapter
5.8 布局管理器
5.8 布局管理器(续1)
java组件不使用坐标这种绝对定位的形式,而使用布局
5.8 布局管理器(续2) 5.8 布局管理器(续3) 5.8 布局管理器(续4) 5.8 布局管理器(续5)
5.8 布局管理器(续6)
5.8 布局管理器(续7)
例5.3CardLayout 例子。

5.8 布局管理器(续8)
5.8 布局管理器(续9)
p1 = new Panel(); p3.add(l3);
5.8 布局管理器(续10)
myCard.show(f, "First");f.setSize (200, 200);f.setVisible(true);
MyEvent myEp=new MyEvent();p1.addMouseListener(myEp);p2.addMouseListener(myEp);5.8 布局管理器(续11完)
Ch5-42
p3.addMouseListener(myEp);p4.addMouseListener(myEp);p5.addMouseListener(myEp);MyEvent1 me1=new MyEvent1();f.addWindowListener(me1);}}
5.9 Java绘图类 5.9 Java绘图类(续1)
5.9 Java绘图类(续2) 5.9 Java绘图类(续3)
public C5_4()
{ cg=new CheckboxGroup();setSize(300,300);
cb1=new Checkbox("blue",cg,true);
cb2=new Checkbox("red",cg,true);
cb3=new Checkbox("green",cg,true);
cg.setSelectedCheckbox(cb1);
add(cb1);add(cb2);add(cb3);
cb1.addItemListener(this);
cb2.addItemListener(this);
cb3.addItemListener(this);
}
Ch5-46
5.9 Java绘图类(续4) 5.9 Java绘图类(续5)
public void paint(Graphics g)
5.9 Java绘图类(续6完) public static void main(String args[])。

相关文档
最新文档