java第十章 图形界面
Java图形用户界面:Swing和JavaFX的简单介绍

Java图形用户界面:Swing和JavaFX的简单介绍在计算机科学领域中,图形用户界面(GUI)是指通过图形、图像和视觉元素来与计算机程序进行交互的界面。
Java作为一种广泛使用的编程语言,提供了多种选择来构建图形用户界面。
其中,Swing和JavaFX是最常用的两种选择。
本文将对这两种Java GUI工具进行简单介绍,并探讨它们的特点和用途。
一、SwingSwing是Java提供的一套GUI工具包,旨在提供一种跨平台的解决方案。
它是在AWT(抽象窗口工具包)的基础上开发的,为开发者提供了一系列可重用的GUI组件,如按钮、文本框、标签等。
Swing的特点之一是其轻量级性能,它不依赖于操作系统的原生GUI组件,而是完全由Java代码实现。
这使得Swing应用程序可以在不同操作系统上以相同的方式运行,而无需进行任何修改。
Swing提供了丰富的组件库,使得开发者可以轻松构建复杂的用户界面。
它还支持可定制的外观和感觉,开发者可以根据自己的需求选择不同的外观主题。
此外,Swing还提供了一些高级组件,如表格、树形结构和滚动面板,使得开发者可以创建更复杂和功能强大的界面。
然而,Swing也有一些缺点。
由于其完全由Java代码实现的特性,Swing应用程序可能在性能方面存在一些问题。
尤其是在处理大量数据或复杂图形时,Swing的性能可能会受到影响。
此外,Swing的外观和感觉可能与操作系统的原生界面存在一些差异,这可能会对用户体验造成一定的影响。
二、JavaFXJavaFX是Java平台上的另一种GUI工具,它提供了更现代化和富有表现力的用户界面。
与Swing不同,JavaFX使用了一种基于场景图的方式来构建界面。
它通过使用FXML(一种基于XML的用户界面描述语言)和CSS(层叠样式表)来分离界面的结构和样式,使得界面的定制变得更加灵活和简单。
JavaFX提供了许多内置的UI组件,如按钮、文本框、标签等,这些组件具有更丰富的视觉效果和交互特性。
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图形用户界面

t}ryesflrs{eaetmD{teer.fypaau{cltkC(l)o; seOperation(EXIT_ON_CLOSE);
选中“ToGoelnUyke}DsiItrMt.caiegmtjefaebreamxtaeIcHtncnmDnLheeaistoea}ep((gidf)oE.ctae;veinkxoaurarAc单.ntcllsstcieo.dTnc击ephmpoardrtetmotLi(i“FneoeEleokte(nnFnS)xoieiSttl”ec(te;kla)}iC”exzA.cgceplkneaetT=dtipsoS“rFtsanicoSNecrnaeeeav)(exlem(){nc;ASeellp”(iz)t)ei保;o()n存;)源{ 文U件I和M工an程a文g件er.getS
边
有间距
CENTER
的 East
组 容se器tHgap(int hgap)
件
setVgap(int vgap)
组
将组件间的水平间距设置为指定的值
件
将组件间的垂直间距设置为指定的值
下边的组件
South
天津职业技术师范大学
BorderLayout
…… class testFrame extends JFrame {
天津职业技术师范大学
BorderLayout
North
左
边 West 的
组 容器
件
上边的组件 CENTER
下边的组件
South
右 边 的 East 组 件
天津职业技术师范大学
BorderLayout
North
方法
左 BorderLay边out( )
West 的
java图形化界面练习及答案

j a v a图形化界面练习及答案As a person, we must have independent thoughts and personality.作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分)1.下列属于容器的组件有A.JButtonB.JPaneC.CanvasD.JTextArea学生的答案: B标准答案: B该题分数:学生得分: 分2.下列方法中,不属于WindowListener接口的是A.windowOpened()B.windowClosed()C.windowActivated()D.windowAdapter学生的答案: D标准答案: D该题分数:学生得分: 分3.下列不属于Swing中组件的是( )。
A.JPanelB.JTableC.MenuD.JFrame学生的答案: C标准答案: C该题分数:学生得分: 分4.以下Swing组件中哪一个不是顶层容器组件( )。
A.框架B.对话框C.面板D.小程序学生的答案: C标准答案: A该题分数:学生得分: 0分5.对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。
A.创建两个单选框对象时定义相同的对象名B.将两个单选框对象放在同一个面板上C.定义一个ButtonGroup对象group,将两个单选框对象加到group中D.让两个单选框排成一行或一列学生的答案: C标准答案: C该题分数:学生得分: 分6.容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。
A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout学生的答案: B标准答案: B该题分数:学生得分: 分7.下列哪个类创建的对象可以触发ActionEvent事件( )。
A.类B.包的子类C.类D.类学生的答案: A标准答案: A该题分数:学生得分: 分8.下列叙述中哪个是正确的( )A.不是任何组件都可以触发MouseEvent事件B.处理WindowEvent事件的接口是FocusListenerC.类实现了MouseListener接口D.是一个接口学生的答案: C标准答案: C该题分数:学生得分: 分9.在基于Swing的图形用户界面设计中,面板属于( )。
java画图课程设计

java画图课程设计一、教学目标本节课旨在让学生掌握Java基本绘图方法,能够使用Java编写简单的图形界面程序。
1.了解Java绘图的基本概念和方法。
2.掌握Java中常用的绘图类和方法。
3.理解图形界面程序的设计原理。
4.能够使用Java编写简单的图形界面程序。
5.能够灵活运用Java绘图方法,实现基本的图形绘制。
6.能够根据需求,设计并实现简单的图形界面程序。
情感态度价值观目标:1.培养学生对计算机编程的兴趣和热情。
2.培养学生解决问题的能力和创新精神。
3.培养学生团队协作和交流的能力。
二、教学内容本节课的教学内容主要包括Java绘图的基本概念和方法,以及图形界面程序的设计原理。
1.Java绘图基本概念和方法。
2.Java中常用的绘图类和方法。
3.图形界面程序的设计原理。
4.实例演示和练习。
三、教学方法本节课采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:用于讲解Java绘图的基本概念和方法,以及图形界面程序的设计原理。
2.案例分析法:通过分析典型案例,让学生理解和掌握Java绘图的方法和技巧。
3.实验法:让学生通过实际操作,动手编写Java程序,巩固所学知识。
四、教学资源1.教材:《Java程序设计》。
2.参考书:《Java绘图教程》。
3.多媒体资料:PPT课件。
4.实验设备:计算机。
五、教学评估本节课的评估方式包括平时表现、作业和考试。
1.平时表现:通过课堂参与、提问和回答问题等方式,评估学生在课堂上的积极性和主动性。
2.作业:布置相关的绘图程序练习,评估学生对Java绘图方法的掌握程度。
3.考试:期末考试中包含Java绘图相关的题目,评估学生对Java绘图的全面理解和应用能力。
六、教学安排本节课的教学安排如下:1.教学进度:按照教材的章节顺序,逐步讲解Java绘图的基本概念和方法。
2.教学时间:每节课45分钟,其中30分钟用于讲授和案例分析,15分钟用于实验和实践。
3.教学地点:计算机实验室,确保学生能够直接进行绘图程序的编写和运行。
java学习第10章PPT教学课件

使调用它的线程立即停止执行
使线程睡眠n毫秒,n毫秒后,线程可以 再次运行
使线程挂起,暂停运行Not Runnable
恢复挂起的线程,使处于可运行状态 Runnable
将CPU控制权主动移交到下一个可运行 线程
2、Thread类的主要方法
setName(String) getName() getPriority() setPriority(int) join()
赋予线程一个名字
取得由setName()方法设置的线程名字的 字符串
返回线程优先级
设置线程优先级
当前线程等待调用该方法的线程结束后, 再往下执行
setDaemon(boole an )
设置该线程是daemon线程还是用户线程, Daemon线程也称服务线程,通常编 成无限循环,在后台持续运行。
例10-1 直接继承Thread类实现多线程
第10章 多线程机制
1.1 Java线程的概念 1.2 Java多线程编程方法 1.3 线程的控制 1.4 线程资源的同步处理
1.多进程
多进程的缺点: • 进程切换开销大; • 进程间的通信很不方便。
2.多线程
• 多线程则指的是在单个程序中可以同时运行多个 不同的线程,执行不同的任务
• 线程切换的开销小 。
例10-2 计数按钮的设计
import java.applet.*; import java.awt.*; class countbutton extends Button implements Runnable {
int count=0; public countbutton(String s) { super(s); } public void run() {
java图形界面设置教程
Java实例——(续)
setSize(300,200); bl.setText(“欢迎使用Java语言”); bl.setBounds(50,50,150,20); bl.setAlignment(Label.CENTER); bl.setBackground(Color.blue); bl.setForeground(Color.red); add(bl); setVisible(true); } public static void main(String args[]){ new Label1(); } }
简单GUI程序
1.引用需要的包和类。 2.设置一个顶层的容器。 3.根据需要为容器设置布局管理器或使用默认布 局管理器。 4.将组件添加到容器内。 5.为响应事件的组件编写事件处理代码。
建立窗口Frame类的操作
创建窗口的基本和必要操作包括以下方面:
1.设置窗口的大小。 2.设置窗口的标题。 3.确定窗口在屏幕的放置位置。 4.显示窗口。 5.关闭窗口。
window事件及其响应每一个事件类都有一个唯一的事件处理方法接口如处理鼠标事件mousee钮actionevent事件类的对应接口为actionlistener接监听者向事件源注册使监听者能够监听到并处理事件源产生的事件如actionevent事件实现其接口actionlistener
Java实例——(续)
but.setBounds(50,50,100,50); but.addActionListener(fra); fra.add(but,BorderLayout.CENTER); fra.setVisible(true); } public void actionPerformed(ActionEvent e){ fra.setBackground(Color.red); } }
画图课程设计java
画图课程设计java一、教学目标本课程的目标是让学生掌握Java语言基础,学会使用Java进行简单的图形界面设计。
具体目标如下:知识目标:使学生了解Java语言的基本语法、数据类型、控制结构、面向对象编程思想,以及Java图形界面设计的相关知识。
技能目标:培养学生具备使用Java编写简单图形界面程序的能力,能独立完成基本的图形界面设计任务。
情感态度价值观目标:培养学生对编程的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括Java语言基础和Java图形界面设计两部分。
Java语言基础部分包括:数据类型、控制结构、面向对象编程、异常处理、文件操作等。
Java图形界面设计部分包括:Swing组件、事件处理、布局管理、菜单栏、工具栏等。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
讲授法用于向学生传授Java语言基础知识和图形界面设计方法。
案例分析法用于分析实际编程中的问题和解决方案,提高学生的实际编程能力。
实验法用于让学生亲自动手实践,培养学生的实际操作能力和创新精神。
四、教学资源教材:《Java编程思想》参考书:《Java核心技术》多媒体资料:教学PPT、视频教程实验设备:计算机、网络设备教学资源的选择和准备应充分考虑教学内容和教学方法的实施,以提高学生的学习效果。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
平时表现主要评估学生在课堂上的参与程度、提问回答、小组讨论等,占总评的30%。
作业主要评估学生的编程实践能力,包括课后练习和项目任务,占总评的40%。
考试主要评估学生对Java语言基础和图形界面设计的掌握程度,占总评的30%。
评估方式应客观、公正,全面反映学生的学习成果。
六、教学安排本课程的教学进度计划共安排16周,每周2课时,共计32课时。
教学时间安排在每周的一和周三下午,地点为计算机实验室。
教学进度安排合理、紧凑,确保在有限的时间内完成教学任务。
JAVA图形界面各种布局及使用方法
1.布局对于JFrame窗口,默认布局是BorderLayout布局。
对于JPanel,默认布局是FlowLayout布局。
容器可以使用方法:setLayout(布局对象);来设置自己的布局。
(1)FlowLayout布局FlowLayout类创建的对象称做FlowLayout型布局。
FlowLayout类的一个常用构造方法如下:FlowLayout()该构造方法可以创建一个居中对齐的布局对象。
例如:FlowLayout flow=new FlowLayout();如果一个容器con使用这个布局对象:con.setLayout(flow);那么,con可以使用Container类提供的add方法将组件顺序地添加到容器中,组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列。
FlowLayout布局对象调用flow.setAlignment(FlowLayout.LEFT);来设置组件靠左对齐FlowLayout布局对象调用setHgap(int hgap) 方法和setVgap(int vgap)可以重新设置布局的水平间隙和垂直间隙。
(2)BorderLayout布局BorderLayout 布局是Window型容器的默认布局,例如JFrame、JDialog都是Window类的间接子类,它们的默认布局都是BorderLayout 布局。
容器使用BorderLayout 布局,那么容器空间简单地划分为东、西、南、北、中五个区域。
每加入一个组件都应该指明把这个组件添加在哪个区域中,区域由BorderLayout中的静态常量CENTER、NORTH、SOUTH、WEST、EAST表示.添加到某个区域的组件将占据整个这个区域。
每个区域只能放置一个组件,如果向某个已放置了组件的区域再放置一个组件,那么先前的组件将被后者替换掉。
(3)CardLayout 布局使用CardLayout 的容器可以容纳多个组件,但是实际上同一时刻容器只能从这些组件中选出一个来显示,这个被显示的组件将占据所有的容器空间。
Java图形界面之JFrame,JLabel,JButton详解
Java图形界⾯之JFrame,JLabel,JButton详解⽬录⼀、JFrame⼆、JLabel三、JButton四、⼩结⼀、JFramepackage Demo03;import javax.swing.*;import java.awt.*;public class JFrame01 {public static void main(String[] args) {JFrame f = new JFrame("第⼀个Swing窗体");Dimension d = new Dimension(); // 创建⼀个Dimension 对象,通过设置这个对象去达到改变Frame窗体⼤⼩的⽬的d.setSize(230,80); // set⽅法设置d对象⼤⼩f.setSize(d); // 这⾥就是通过设置JFrame的⼤⼩为Dimension的⼤⼩的⽅法,去达到改变⼤⼩的⽬的f.setBackground(Color.WHITE); // 设置颜⾊Point p = new Point(300,200); // 设置坐标点,原理⼀样f.setLocation(p); // 原理⼀样,因为设置的点是窗体的左上⾓,所以这么设置即可f.setVisible(true); // 让窗体显⽰/*窗体⾸先需要能够显⽰出来//f.setVisible(true);以上便能够使窗体显⽰出来然后是窗体的⼤⼩以及位置,也就是约束//f.setSize() 和 f.setLocation() 可以改变其⼤⼩和位置,也就是建⽴约束其他的设置如底⾊等,如果缺省,会是⽩⾊//f.setBackground(Color.WHITE);*/}}代码截图:运⾏结果:照着代码敲⼀遍,然后注释掉⼀部分代码,查看报错提⽰或者运⾏结果从这个⾓度去学习也是可以的⼆、JLabelpackage Demo03;import javax.swing.*;import java.awt.*;public class JFrame02 {public static void main(String args[]){JFrame frame = new JFrame("Welcome to Libra's learning space."); // 实例化窗⼝对象,这⾥主要是设置显⽰⽂字内容JLabel lab = new JLabel("It is inside of learning space.",JLabel.CENTER); // 实例化标签⽂本,这⾥主要是设置显⽰⽂字内容 frame.add(lab); // 将标签添加进窗⼝frame.setSize(500,300); // 设置窗⼝⼤⼩frame.setBackground(Color.WHITE); // 设置窗⼝底⾊frame.setLocation(300,200); // 设置窗⼝位置frame.setVisible(true); // 设置窗⼝显⽰/*其他的组件需要通过添加才能够在窗⼝上//frame.add(lab);这⾥传⼊了两个参数,⼀个是⽂本内容,⼀个是⽂本样式,其中选择了居中,可以通过拖动窗⼝来检查是否居中//JLabel lab = new JLabel("It is inside of learning space.",JLabel.CENTER);在java中,所有的东西都是对象,所以都需要先实例化,也就是new⼀个出来,然后通过设置这个实例化后的对象进⾏使⽤其他的与上⼀张基本⼀致,这⾥不再赘述*/}}代码截图:运⾏结果:三、JButtonpackage Demo03;import javax.swing.*;import java.awt.*;public class JFrame03 {public static void main(String args[]){JFrame frame = new JFrame("Welcome to Libra's learning space."); // 实例化窗⼝对象,这⾥主要是设置显⽰⽂字内容JButton but = new JButton("It is Button."); // 实例化按钮JLabel lab = new JLabel("This is Libra's learning space.",JLabel.CENTER); // 实例化标签对象frame.add(but); // 将按钮添加进窗⼝frame.add(lab); // 将标签添加进窗⼝frame.setSize(500,300); // 设置窗⼝⼤⼩frame.setBackground(Color.WHITE); // 设置窗⼝底⾊frame.setLocation(300,200); // 设置窗⼝位置frame.setVisible(true); // 设置窗⼝显⽰but.setBounds(0,0,100,50); // 设置按钮⼤⼩及位置lab.setBounds(0,0,50,50);/*实例化标签组件是为了不让按钮默认样式⽣效,当只有⼀个按钮组件的时候,默认填满整个窗⼝,读者可以⾃⼰⼿动尝试⼀下,复制了代码后将标签相关的代码注释掉四个值都为int类型,分别是位置和⼤⼩// but.setBounds(x,y,width,height);按钮的显⽰⽂本可以像⽰例中这样实例化时设置,也可以稍后设置下⾯第⼀⾏和后两⾏的效果是⼀样的,读者可以⼿动尝试⼀下// JButton but = new JButton("It is Button.");// JButton but = new JButton();// but.setLabel("It is Button.");其他的与前⼏张相差不⼤,这⾥不做赘述*/}}代码截图:运⾏结果:四、⼩结想要达到图形化界⾯,那⽬的就是展⽰⼀些什么,例如图⽚,⽂字等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章图形用户界面主要内容:AWT的组成以及使用。
10.1 AWT概述java.awt主要由GUI组件、布局管理器和图像处理三部分组成。
1.GUI构件的组成类(1)标准构件●Button,按下就会被激活的用户接口组件,可加标签和图标。
●Checkbox(复选框)和CheckboxGroup(复选框组)Checkbox类提供两种状态:一种是选中,另一种是未选中。
CheckboxGroup类用于把一组Checkbox设置为多重互斥型。
●Choice,列表选择。
提供了多项选择功能,选项数通常不多。
●List,列表。
用于清单显示和项目选择,可有一垂直滚动条,通过滚动选择一或多个选项。
●TextField,单行文本输入区●TextArea,文本输入区●Label,标签。
在界面上显示文字,可在程序中对其修改。
●Scrollbar,滚动条user-meng(水平和垂直),一般在Panel子类中使用。
●Canvas,画布。
用来在其上绘制图形并创建自己的构件。
(2)菜单构件●MenuBar,菜单条是包含菜单的容器。
必须与一个框架捆在一起才能起作用,即调用Frame.setMenuBar()。
●Menu,包含菜单项和子菜单,只能加入到菜单容器中。
●MenuItem,菜单系统的“叶子”,通常被添加到一个菜单中。
●CheckboxMenuItem,表示菜单项有选择和不选择两种状态。
(3)容器构件(缺省布局采用BorderLayout方式)●Panel,面板。
提供一个包含其它组件或面板的容器,通过布局管理器来控制组件的位置,使组件按程序员要求排列。
●Window,窗口。
是容器的子类。
只有依附于框架才能存在。
●Frame,框架。
是窗口的子类,是一个带标题和可变大小边框的顶级窗口。
●Dialog不能改变大小,用于设定应用程序中的一些选项。
●FileDialog,主要用于存取和打开文件的操作。
2.布局管理器AWT中包含五种布局管理器,FlowLayout类、BorderLayout类、GridLayout类、GridBagLayout类和CardLayout类。
(1)FlowLayout类,流布局管理器●是Panel和Applet的默认布局管理器,在该布局方式下,组件按顺序一行一行地排列,从左到右,从上到下。
●容器中的各个组件,默认为居中位置,也可设为左对齐或右对齐方式。
●它不控制组件的大小,而是使组件保持它们原有的尺寸。
(2) BorderLayout类,边界布局管理器它是Window、Frame和Dialog的默认布局管理器,它包含东、西、南、北、中五个区域。
(3) GridLayout类,栅格布局管理器●每个组件占用一个栅格,从左到右,从上到下。
●可创建指定行数和列数的布局,组件可以添到定义的某个格子中,每个格子的大小都是一样的。
(4) GridBagLayout类,栅格包布局管理器可安排、调整其纵、横方向布局的布局管理器,它不要求每个组件都具有相同尺寸。
(5) CardLayout类,卡片布局管理器。
3.图像处理●AWT提供各类:Graphics、Image、Color、Font和FontMetrics、Polygon、Dimension、Rectangle。
●Java语言的图像处理是由java.awt.Image类、java.awt.image包以及java.awt.Graphics类提供支持。
●每个图像由java.awt.Image的对象表示。
●除Image类,java.awt还提供了其他基本图象支持。
如:Graphics的drawImage()、Toolkit的getImage()和MediaTracker类。
●java.awt.image包提供了与图象处理相关的接口和类,支持创建、处理和跟踪图象。
4.其它AWT类●Event类:表示用户行为。
●Toolkit类:获取图象。
●MediaTracket类:图象加载情况跟踪。
10.2Componet类的结构Componet类是一抽象类,用来生成一个通用的AWT构件,其中封装了AWT构件的属性和方法。
public class Component extends Object{public Container getParent();public boolean isValid();public boolean isVisible();public boolean isShowing();public boolean isEnabled();public Dimension size();public synchronized void show();public show(boolean cond);public synchronized void hide();public Color getForeground();public void move(int x,int y);public void resize(int width,int height);public void paint(Graphics g);public void update(Graphics g);public void repaint();public Image createImage(ImageProducer producer); public boolean mouseDown(Event evt,int x,int y); public boolean mouseDrag(Event evt,int x,int y); public boolean mouseUp(Event evt,int x,int y);public boolean mouseMove(Event evt,int x,int y); public boolean mouseEnter(Event evt,int x,int y); public boolean mouseExit(Event evt,int x,int y); public boolean keyDown(Event evt,int key);public boolean keyUp(Event evt,int key);public boolean action(Event evt,Object what);public boolean getFocus(Event evt,Object what);public String toString();……}10.3AWT构件的使用1.Button,其类结构如下:public class Button extends Component{public Button();public Button(String label);public String getLabel();public void setLabel(String label);portected String paramString();……}例:Button b1=new Button(“Button1”);add(b1);//将b1加到当前窗口2.Checkbox和CheckboxGrouppublic class Checkbox extends Component{public Checkbox();public Checkbox(String label);public Checkbox(String label, CheckboxGroup group, boolean state );public String getLabel();public void setLabel(String label);public boolean getState();public void setState(boolean state);public CheckboxGroup getCheckboxGroup();public void setCheckboxGroup(CheckboxGroup g);portected String paramString();}public class CheckboxGroup extends Object{public CheckboxGroup();public Checkbox getCurrent();public synchronized void setCurrent(Checkbox t); public String toString();}例:Checkbox one=new Checkbox(“one”,false);Checkbox two=new Checkbox(“two”,true);add(one);add(two);例:CheckboxGroup cbg=new CheckboxGroup();Checkbox one=new Checkbox(“one”,cbg,false);Checkbox two=new Checkbox(“two”,cbg,true);……add(one);add(two);……3.ChoicePublic class Choice extends Component{Public Choice();Public int countItems();Public String getItem(int index);Public int getSelectedIndex();Public synchronized void select(int pos);Public void select(String str);Public String paramString();}例:Choice c1=new Choice();c1.addItem(“one”);c1.addItem(“two”);c1.addItem(“three”);add(c1);4.ListPublic class List extends Component{Public List();Public List(int rows,boolean multipleSelections); Public int countItems();Public String getItem(int index);Public synchronized void addItem(String item);Public synchronized void clear();Public synchronized void delItem(int position);Public synchronized void delItems(int start,int end); Public synchronized int getSelectedIndex();Public synchronized int[] getSelectedIndexs();Public synchronized String getSelectedItem();Public boolean allowsMultipleSelections();Public void setMultipleSelections(boolean v);……}例:List l1=new List(10,false);for(int i=0;i<10;i++){l1.addItem(“item”+i);}add(“Center”,l1);5.TextField和TextArea两者有共同的父类TextComponent.该类提供了一些方法:public void setText(String t);public String getText();public String getSelectText();public boolean isEditable();public void setEditable(boolean t);public void select(int selStart,int selEnd);public void selectAll();protected String paramSting();……Public class TextField extends TextComponent{Public TextField();Public TextField(int cols);Public TextField(String text);Public TextField(String text,int cols);Public char getEchoChar();Public int getColumns();Public String paramString();……}Public class TextArea extends TextComponent{Public TextArea ();Public TextArea (int rows,int cols);Public TextArea (String text);Public TextArea (String text, int rows ,int cols);Public void insertText(String str,int pos);Public void replaceText(String str,int start,int end); Public char getRows();Public int getColumns();Public String paramString();……}例:TextField f=new TextField(“Single show”,30);TextArea t=new TextArea(“more line”,4,30);f.setText(“Hello’);String s=t.getText();belpublic class Label extends Component{public final static int CENTER;public final static int LEFT;public final static int RIGHT;public Label();public Label(String label);public Label(String label,int alignment);public String getText();public void setText(String label);protected String paramString();……}例:Label la1=new Label(“LABEL”);add(la1);7.Scrollbar(缺省情况下用BorderLayout)Public class Scrollbar extends Component{Public final static int HORIZONTAL;Public final static int VERTICAL;Public Scrollbar();Public Scrollbar(int orientation);Public Scrollbar(int orientation,int value,int visible, int minimum,int maximum);public int getOrientation();public int getValue();public int getMinimum();public int getmaximum();public int getVisible();……}此外,Scrollbar类还定义了4个与滚动速度有关的方法。