java程序设计教学教案课件.ppt
《java程序设计教学教案课件.ppt》由会员分享,可在线阅读,更多相关《java程序设计教学教案课件.ppt(93页珍藏版)》请在三一办公上搜索。
1、第六章 常用组件及事件处理,第六章 常用组件及事件处理,选择框下拉列表滚动列表Component类的常用方法窗口事件鼠标事件键盘事件Java Swing 简介发布应用程序,Java窗口布局文本框组件按钮组件菜单项文本区组件标签画布面板,常用组件及事件处理简介,图形用户界面(GUI:Graphics User Interface)抽象工具包(AWT:Abstract Window Toolkit)容器类(Container)组件类(Component),常用组件及事件处理简介,Component类或者间接子类创建的对象,叫组件。ButtonScrollbarCanvasListCheckboxT
2、extFieldTextAreaLabel以上类是包java.awt中的类,并且是包中Component类的子类。容器也是组件。,常用组件及事件处理简介,Container类或者间接子类创建的对象,叫容器向容器中添加组件,Component类提供一public方法:add()容器调用remove(Component C)、removeAll()方法可以移掉容器中的参数C的组件、全部组件。当容器中添加或者移掉新的组件时,调用validate()方法来刷新。容器也是组件,可以嵌套。,类的层次关系,6.1 Java 窗口,窗口 Frame类是一个容器,可以向窗口添加组件。窗口默认显示到屏幕。不允许将
3、一个窗口添加到另一个容器中。1.Frame常用方法:Frame()构造方法可以创建一个无标题的窗口,窗口的默认布局是BorderLayout布局。Frame(String s)构造方法可以创建一个标题为s的窗口,窗口的默认布局是BorderLayout布局。,6.1 Java 窗口,Public void setSize(int width,int height)设置窗口大小,默认位置(0,0)。Public void setBounds(int a,int b,width,int height)设置窗口大小,位置(a,b)Public void setVisible(boolean b)设置
4、窗口可见性,窗口默认是不可见的Public void setResizable(boolean b)设置窗口可调性,默认是可调的Public void dispose()撤消当前窗口,并释放所使用的资源。,6.1 Java 窗口,2.菜单条、菜单、菜单项MenuBar菜单条:java.awt包中的Menubar类是负责创建菜单条。Frame类将菜单条放入窗口的方法:setMenuBar(MenuBar bar)将菜单条添加到窗口的顶端,一个窗口只能添加一个菜单条;Menu菜单:Java.awt包中的Menu类是负责创建菜单的,Menu类的主要方法:Menu():建立一个空标题的菜单Menu(S
5、tring s):建立一个标题为S的菜单public void add(MenuItem item):向菜单中添加由参数item指定的菜单选项对象。public void add(String s):向菜单中添加指定的选项public MenuItem getItem(int n):达到指定索引处的菜单选项public int getItemCount():得到菜单选项的数目,6.1 Java 窗口,2.菜单条、菜单、菜单项Menultem菜单项:Java.awt包中的Menultem是Menu的父类,该类负责创建菜单项,主要方法:MenuItem():构造无标题菜单项MenuItem(Str
6、ing s):构造有标题菜单项public void setEnabled(boolean b):设置当前菜单项是否可被选择public String getLabel():得到菜单选项的名字,Window Frame Dialog,6.2 布局,容器中的组件放置需要布局。Java.awt包中的布局类:FlowLayout、BorderLayout、CardLayout、GridLayout包中的布局类:BoxLayout设置布局:采用方法setLayout(布局对象),6.2 布局,1.FlowLayoutFlowLayout是Panel型容器的默认布局。构造方法:FlowLayout()创
7、建一个布局对象FlowLayoutflownew FlowLayout();容器使用布局对象 con.setLayout(flow);Container类提供的 Add()方法将组件添加到容器中默认水平和垂直间隙是5个象素FlowLayout布局对象调用:setAlignment(int aligin)重新设置布局的对齐方式,aligin取:FlowLayout.LEFT、FlowLayout.CENTER、FlowLayout.RIGHTFlowLayout布局对象调用:setHgap(int hgap)、setVgap(int vgap)重新设置垂直和水平间隙。,6.2 布局,例子2,使用
8、FlowLayout布局放置10个组件,6.2 布局,2.borderLayout 布局borderLayout是window型容器的默认布局。Frame、Dialog都是window的子类,默认布局是borderLayout布局。容器空间简单划分为:东西南北中五个区域。静态常量为:CENTER NORTH SOUTH WEST EAST。每个区域只放一个组件。一个容器中多于五个组件要使用容器嵌套。使用容器的add()方法将组件添加到容器中。,6.2 布局,例子3:采用BorderLayout布局,6.2 布局,3.CardLayout布局CardLayout的容器同时可显示多个组件,但每次只
9、显示一个出来。被显示出来的组件将占据所有的容器空间。使用CardLayout的一般步骤:创建:CardLayout card=new CardLayout();容器设置布局setLayput():con.setLayout(card);调用add()方法将组件b加入容器:add(String s,Component b);显示用show()方法:mycard.show(con,s);按顺序显示:card.first(con);card.last(con);card.next(con);card.previous(con);,6.2 布局,4.GridLayout布局GridLayout:组件位
10、于行列组成的网格区域中。组件大小跟每一网格大小相同。使用步骤:创建布局对象,构造方法GirdLayout(int m,int n),指定划分mXn个网格,例:GridLayout grid=new GridLayout(10,8);最多容纳mXn个容器使用GridLayout布局的容器调用方法add将组件加入容器要求组件大小不一时用嵌套。嵌套的容器可使用:FlowLayout、CardLayout、GridLayout、BorderLayout。,6.2 布局,5.BoxLayout布局BoxLayout:盒式容器。在包中。Java.swing包提供了Box类,该类创建的容器成为盒式容器。盒式
11、容器布局不可以改变。创建盒式布局对象,使用构造方法:BoxLayout(Container con,int axis);参数axis值:BoxLayout.X_AXIS、BoxLayout.Y_AXIS确定盒式 布局采用行排列还是列排列行式盒式容器布局只允许一行。列式盒式容器布局只允许一列。静态Box创建行型盒式布局的方法:createHorizontalBox()、创建列型盒式布局的方法createVerticalBox()控制盒式布局容器中组件的距离,静态水平支撑(距离)调用:createHorizontalStrut(int width)静态垂直支撑(距离)调用:createVertic
12、alStrut(int height),6.2 布局,例子4:,6.2 布局,6.null布局null布局:空布局,空布局容器可以准确定位组件在容器的位置和大小。设置:p.setLayout(null);p为容器向空布局中加入组件调用add()方法:add(c);设置组件在容器中的位置和本身大小:setBounds(int a,int b,int width,int height),6.3 文本框组件,Java.awt包中的:TextField类1.TextField类的主要方法:TextField():创建文本框,长度为一个字符,可输入若干字符TextField(int x):创建文本框,长
13、度为x个字符,可输入若干字符TextField(String s):创建文本框,初始字符串为s,可输入若干字符。Public void setText(String s):文本框调用该方法设置文本框中的文本为参数s指定的文本,文本框中先前的文本将被清除。Public String getText():文本框调用该方法获取文本框的文本Public void setEchoChar(char c):设置文本框的回显字符。Public void setEditable(boolean b):设置文本框的可编辑性Public void addActionListener(ActionListener)
14、:向文本框增加动作监视器Public void removeActionListener(ActionListener):移去文本框上的动作监视器,6.3 文本框组件,例子5:两个文本框,6.3 文本框组件,2.文本框上的ActionEvent事件文本框上的ActionEvent事件:回车、单击按钮、下拉列表中选择事件、确定、取消等。三个概念:事件源:生成事件的对象,例如文本框,按钮,下拉式列表等等。监视器:事件源调用方法将某个对象作为监视器,如:addActionListener(监视器)。监视器是一个对象。处理事件的接口:监视器对象处理事件前,创建监视器的类要先声明实现相应的接口,在类体中
15、给出该接口中所有方法的方法体。,6.3 文本框组件,包中提供事件类的接口。文本框的接口:ActionListener,接口中的方法只有一个方法:public void actionPerformed(ActionEvent e)ActionEvent类中的方法获得发生ActionEvent 事件的事件源对象方法:public Object getSource()在事件源上创建监视器:sourceObject.addXXXListener(监视器);创建监视器前声明接口:class A implements XXXListener,6.3 文本框组件,例子6:,6.4 按钮组件,Java.awt
16、包中Button类用来建立按纽。1.Button类常用方法:Button()使用这个构造方法创建按钮,按钮没有名字Button(String s):使用此构造方法创建按钮,按钮上的名称是SPublic void setLabel(String s):按钮对象调用该方法可以设置按钮上的名称Public String getLabel():按钮对象调用该方法获取按钮上的名称Public void addActionListener(ActionListener):按钮对象调用该方法可以向按钮增加动作监视器Public void removeActionListener(ActionListener
17、):按钮对象调用此方法移除按钮上的动作监视器,6.4 按钮组件,2.按纽上的ActionEvent事件按纽上的ActionEvent事件:单击按钮。包中的ActionEven类自动创建了一个事件。,6.4 按钮组件,例子7:,6.5 菜单项,单击某个菜单项可以发生ActionEvent 事件例子8:通过处理菜单项事件结束程序,6.6 文本区组件,Java.awt包中TextArea类用来建立文本区,用以输入多行文本。1.TextArea类常用方法:TextArea():使用此构造方法创建文本区对象,文本区的列数和行数取默认值.文本区上有水平和垂直滚动条.TextArea(String s):使
18、用此构造方法创建文本区对象,文本区的初始字符串为s.文本区有水平和垂直滚动条.TextArea(int x,int y):使用这个构造方法创建文本区对象,文本框行数为y,列数为x.文本区有水平和垂直滚动条.Public void setText(String s):文本区对象调用该方法可以将文本区中的文本设置为参数s指定的文本,文本区中先前的文本将将清楚.Public String getText():文本区对象调用该方法可以获取文本区中的文本.Public void insert(String s,int x):文本区对象调用该方法可以在指定位置x处,插入指定文本s.x指距离文本区开始处字符
19、的个数。,6.6 文本区组件,public void replaceRange(String s,int start,int end)文本区对象调用该方法可以用给定的新文本s替换从指定位置start开始到指定位置end结束的文本,start和end不能大于文本区的字符的个数public void append(String s):文本区对象调用该方法可以在文本区中附加文本。int getCaretPostion:文本区对象调用该方法可以获得文本区中光标的位置。public void setCarePosition(int position)文本区对象调用该方法可以设置文本区中输入光标的位置,其
20、中position不能大于文本区中字符的个数。public void selectAll():文本区对象调用该方法选中文本区中的全部文本。addTextListener(TextListener):文本区对象调用该方法可以向文本框增加文本监视器。,6.6 文本区组件,2.文本框区上的TextEvent事件文本区上的TextEvent事件:文本区中内容的改写。获得监视器:addTextListener(监视器)接口:TextListener接口中方法:textValueChanged(TextEvent e),6.6 文本区组件,例子9:在一个文本区输入若干英文单词时,另一个文本区排序,6.7
21、标签,Label类的实例就是一个标签。Label类常用的方法:Label()Label(String s)Label(String s,int alignment)Alignment取值:Label.LEFT、Label.RIGHT、Label.CENTERPublic void setText(String s)Public String getText()Public void setAlignment(int alignment),6.8 画布,Java.awt 包中的类canvas负责创建画布对象。在canvas子类创建画布对象,并在子类中重写父类的public void paint(
22、Graphics g)方法。重写父类时,g是自动实例化的。,6.8 画布,例子10:在画布上绘制一个椭圆,6.9 面板,Java.awt 包中的类Panel负责创建面板。Panel是Container类的子类。Panel 也是容器。允许容器嵌套。,6.9 面板,例子11:有2个面板,每个面板里添加一个标签和一个按钮,再把两个面板添加到窗体中。,6.10 选择框,Java.awt包中CheckBox类用来建立选择框,有选中和末选中两种状态。CheckBox类常用方法:CheckBox():创建选择框,没有名字。CheckBox(String s):创建选择框,选择框右边名称由S指定CheckBo
23、x(String s,boolean b):创建选择框,右边名称由s指定,是否选中由b指定,b为true时选中.CheckBox(String s,boolean b,Checboxgroup g):创建选择框,右边的名称由s指定,是否选中由b指定,选择框的组由g来确定,每组只能有一个选择框被选中.Public void addItemListener(ItemListener)向选择框增加itemEvent事件的监视器.,6.10 选择框,CheckBox类常用方法(续):Public void removetemListener(ItemListener):移去监视器Public bool
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 教学 教案 课件
链接地址:https://www.31ppt.com/p-6509999.html