第5章-构成用户界面的窗口环境-计算机系JAVA培训讲义课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章-构成用户界面的窗口环境-计算机系JAVA培训讲义课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构成 用户界面 窗口 环境 计算机系 JAVA 培训 讲义 课件
- 资源描述:
-
1、1第第5章章 构成用户界面的窗口环境构成用户界面的窗口环境北京大学计算机系北京大学计算机系代亚非代亚非2构成用户界面的窗口环境构成用户界面的窗口环境45.1 使用使用AWT(Abstract Window Toolkit)构件构件45.2 包含包含构件的构件的构件构件-构件容器(构件容器(container)45.3 事件的传递事件的传递45.4 各种构件的应用实例各种构件的应用实例(一一)45.5 外观的管理与控制外观的管理与控制45.6 各种构件的应用实例各种构件的应用实例(二二)45.7 总结总结35.1 使用使用AWT构件构件4在在AWT的概念中,窗口系统所显示的各种对象的概念中,窗口
2、系统所显示的各种对象统称为构件:统称为构件:Button,Menu,List等等都是构等等都是构件。件。4Component是代表构件最基本的类。是代表构件最基本的类。4Component类中定义了各种窗口对象中最基本、类中定义了各种窗口对象中最基本、最重要的方法和性质。随时随处都有可能利用最重要的方法和性质。随时随处都有可能利用Component定义的方法。定义的方法。45.1 使用使用AWT构件构件4已经学过的:已经学过的:4getFont,4handleEvent,keyUp4keyDown,mouseUp,4mouseDown,4mouseMove,4mouseEnter,4mouse
3、Exit,4mouseDrag,repaint4setFont,resize4没有学过的:没有学过的:4action,disable,enable,4getBackground,4getForeground,hide,4inside,isEnable,4isShowing,isVisible,4locate,location,4move,setBackground,4setForeground,show,4size5列表列表按钮按钮菜单菜单container另一个窗口另一个窗口窗口,对话框窗口,对话框5.2 包含包含构件的构件的构件构件-构件容器构件容器(container)container
4、65.2 包含包含构件的构件的构件构件-构件容器构件容器(container)import java.awt.*;import java.applet.Applet;public class CountClick extends Applet int CurrentMarks=0;public init()Button b1=new Button(“按钮”);add.b1;按钮按钮75.2 包含包含构件的构件的构件构件-构件容器构件容器(container)4AWT使用使用Container类类来定义最基本的来定义最基本的构件容构件容器器,它有两个子类它有两个子类:Window类和类和Pane
5、l类类.4在在Window类类还有两个子类还有两个子类41.定义对话框定义对话框,用用Dialog子类子类;4Java还提了一个还提了一个Dialog的子类的子类-FileDialog,用用它生成文件对话框它生成文件对话框42.定义一般意义的窗口定义一般意义的窗口,用用Frame类类.85.2 包含包含构件的构件的构件构件-构件容器构件容器(container)4Panel干什么用的呢干什么用的呢?4使你更方便的组织你的使你更方便的组织你的构件构件,得到赏心悦目的布得到赏心悦目的布局局4Applet是是Panel的子类的子类,因此在小应用程序里可因此在小应用程序里可以直接加入构件以直接加入构件
6、,而一般的应用程序必须先定义而一般的应用程序必须先定义构件容器构件容器.4小应用程序在浏览器中所显示的区域就是小应用程序在浏览器中所显示的区域就是Panel,所占的尺寸就是缺省得所占的尺寸就是缺省得Panel尺寸尺寸.9ContainerWindowPanelComponentFrameDialogFileDialogApplet5.2 包含包含构件的构件的构件构件-构件容器构件容器(container)ButtonMenuCheckboxTextfield105.3 事件的传递事件的传递(1.02)当动作发生在按钮上时当动作发生在按钮上时,首先看按钮这个类有没首先看按钮这个类有没有有acti
7、on方法方法,如果没有如果没有则看包含按钮的容器类则看包含按钮的容器类(即即panel)有没有有没有action方法方法,如果没有事件就如果没有事件就传递窗口传递窗口,如果没有就如果没有就传递给传递给 component的通的通用处理方法用处理方法,如果程序如果程序中没有定义任何中没有定义任何action方法方法,实际上事件最终实际上事件最终不被处理不被处理窗口窗口按钮按钮panel11class MyPanel extends Panel MyBtn b=new MyBtn(“ok”);add(b);boolean action().;class MyClass extends Frame
8、MyPanel p=new Mypanel();add(p);Button b=new Button(exit);add(b);boolean action().;窗口窗口exitclass MyBtn extends Button boolean action().;return true;okPanel125.3事件的传递事件的传递(1.02)4事件由包含层次由内向外传递事件由包含层次由内向外传递.4每个处理事件的方法要有一个返回值每个处理事件的方法要有一个返回值,通知是否通知是否继续向上传递继续向上传递 boolean action(Event evt,Object arg);retur
9、n true;135.3 事件的传递事件的传递(1.1)窗口窗口buttonpanel按钮的监听器按钮的监听器窗口获面板窗口获面板的监听器的监听器14确定确定取消取消5.4 各种构件的应用实例各种构件的应用实例-按钮按钮4Button类类4功能功能:创建按钮事件创建按钮事件4创建一个创建一个Button4Button myButton=new Button(str);4将将button放到窗口系统中放到窗口系统中:4 add(new Button(“确定确定”);4 add(new Button(“取消取消”);4Button类的常用方法类的常用方法4 getLabel setLabel15a
10、ction-接受动作事件接受动作事件,调用调用repaintinit-建立建立buttonpaint-显示文字显示文字5.4 各种构件的应用实例各种构件的应用实例-按钮按钮4处理处理button产生的事件产生的事件4例例:创建一个按钮创建一个按钮,每当按下它时每当按下它时,在屏幕显示文在屏幕显示文字字(singlebutton.html)4想一想想一想:4应该有哪些类应该有哪些类?Button,Font;4应有哪些方法应有哪些方法?16import java.awt.*;import java.applet.Applet;public class button extends Applet F
11、ont font;Button b1;public void init()font=newFont(TimesRoman,Font.BOLD,20);b1=new Button(push);add(b1);setFont(font);5.4 各种构件的应用实例各种构件的应用实例-按钮按钮175.4 各种构件的应用实例各种构件的应用实例-按钮按钮4boolean action(Event evt,Object arg)4 y+=5;repaint();4 return true;44paint(Graphics g)4 g.drawString(Button”,10,y);185.4 各种构件的
12、应用实例各种构件的应用实例-按钮按钮import java.awt.*;例例:不在不在applet中的按钮中的按钮class ButtoninFrame public static void main(String args)Frame myframe=new Frame();myframe.setTitle(Button in Frame);myframe.resize(200,200);myframe.show();Button b1=new Button(Button1);Button b2=new Button(Button2);myframe.add(b1);myframe.add(
13、b2);.195.4 各种构件的应用实例各种构件的应用实例4一般步骤一般步骤:创建创建 new加入加入 add响应响应 action处理处理205.4 各种构件的应用实例各种构件的应用实例SportsComputerMusicArtSportsComputerMusicArtminmaxstart1New Checkbox(label,null,false);CheckboxGroup gr=new CheckboxGroup();New Checkbox(label,gr,false);New Checkbox(label,gr,true);New TextField(20);常用的方法常用
14、的方法 getText();setText();setEchoCharacter(char c)Scrollbar(VERTICAL,50,0,1,100);new TextArea(“this is a test”,20,40);215.4 各种构件的应用实例各种构件的应用实例-CheckBox4应用举例应用举例4建立三个复选框建立三个复选框,被选中者的标签内容变成被选中者的标签内容变成“changes”应有的类应有的类:Checkbox 应有的方法应有的方法:init:建立复选框建立复选框 action:接受动作事件接受动作事件 setLabel(“*”);225.4 各种构件的应用实例各
15、种构件的应用实例-CheckBoximport java.awt.*;public class checkbox extends java.applet.Applet Checkbox b1,b2,b3;public void init()b1=new Checkbox(Label1,null,false);b2=new Checkbox(Label2,null,false);b3=new Checkbox(Label3,null,false);add(b1);add(b2);add(b3);23public boolean action(Event evt,Object arg)if(evt
16、.target instanceof Checkbox)Checkbox selectedbox=(Checkbox)evt.target;String str=selectedbox.getLabel();if(str=Label1)selectedbox.setLabel(Chnage1);else if(str=Label2)selectedbox.setLabel(Chnage2);else if(str=Label3)selctedbox.setLabel(Change3);repaint();return true;5.4 各种构件的应用实例各种构件的应用实例-CheckBox24
17、4例例:在文本行中输入在文本行中输入,并用字符串接受并用字符串接受,显示出来显示出来4类的数据构成类的数据构成:Textfield,Button,String4类的方法构成类的方法构成:4init(),4action():接受按钮事件接受按钮事件,调用调用paint()4paint():用用getText()方法得到输入内容方法得到输入内容,并显示并显示.5.4 各种构件的应用实例各种构件的应用实例-TextField25import java.awt.*;public class textfieldkey extends java.applet.Applet TextField t;Stri
18、ng s;Button button;public void init()t=new TextField(,25);add(t);button=new Button(getText);add(button);5.4 各种构件的应用实例各种构件的应用实例-TextField26public boolean action(Event evt,Object arg)if(evt.target instanceof Button)repaint();return true;public void paint(Graphics g)s=t.getText();g.drawString(s,40,80);
19、5.4 各种构件的应用实例各种构件的应用实例-TextField270124354015345.5 外观的管理与制外观的管理与制28button1button2button4button35.5 外观的管理与制外观的管理与制4Panel类类(面板面板)4功能功能:容纳其他对象容纳其他对象,安排合理布局安排合理布局4创建面板创建面板:4 Panel myPanel=new Panel();4 add(myPanel);4将面板作为容器将面板作为容器:4 mypanel.add(button)295.5 外观的管理与制外观的管理与制4例例:(panel.htm)import java.awt.*;
20、public class Panel extends java.applet.Applet Panel panel1,panel2;Button button1,button2,button3,button4;public void init()panel1=new Panel();panel2=new Panel();add(panel1);add(panel2);button1=new Button(Button1);button2=new Button(Button2);button3=new Button(Button3);button4=new Button(Button4);pan
21、el1.add(button1);panel1.add(button2);panel2.add(button3);panel2.add(button4);30南南中中北北西西东东5.5 外观的管理与制外观的管理与制4BorderLayout类类4功能功能:Applet分成五个区分成五个区4创建创建 4setLayout(new BorderLayout();4将其他构件加入将其他构件加入4add(“East”,new Button(“东东”);4add(“South”,new Button(“南南”);4add(“West”,new Button(“西西”);4add(“North”,new
22、Button(“北北”);4add(“Center”,new Button(“中中”);315.5 外观的管理与制外观的管理与制4FlowLayout类类4缺省的输出管理器缺省的输出管理器4GridLayout类类4GridLayout mylayout=new 4GridLayout(3,3,0,0)4setLayout();rowscolshspacevspace325.5 外观的管理与制外观的管理与制4GridBagLayout类和类和4 GridBagConstraints类类4功能功能:借助于借助于GridBagConstraints类类,实现更灵活实现更灵活的外观管理的外观管理4每
23、个构件后都跟随一个每个构件后都跟随一个GridBagLayout对象实对象实体体,来决定构件的外观来决定构件的外观.4创建创建4 GridBagLayout myLayout=new 4 GridBagLayout();335.5 外观的管理与制外观的管理与制4GridBagConstraints类的约束条件类的约束条件gridwidth,gridheight,gridx,gridy,4 weightx,weighty,ipadx,ipady,insets 4 fill及其设置及其设置4 GridBagConstraints.NONE4 GridBagConstraints.HORIZONTA
24、L4 GridBagConstraints.VERTICAL4 GridBagConstraints.BOTH4 GridBagConstraints.RELATIVE34button1button2button3button8button5button6button7button4button95.5 外观的管理与制外观的管理与制4例例:(GridBagApplet.html)355.5 外观的管理与制外观的管理与制public void init()GridBagLayout layout=new GridBagLayout();setLayout(layout);GridBagConst
25、raints GBC=new GridBagConstraints();Button button1=new Button(button1);Button button2=new Button(button2);Button button3=new Button(button3);Button button4=new Button(button4);Button button5=new Button(button5);Button button6=new Button(button6);Button button7=new Button(button7);Button button8=new
展开阅读全文