版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Object-orientedProgrammingwithObject-orientedProgrammingwithMonday,December22, Chapter10Java Java窗文本框、按纽 和文本布选择性容窗口事件、鼠标事件和键盘 ©TheInstituteofBusiness Chapter10JavaJavaSwingJava的java.awt包,即Java抽象窗口工具包用来设计GUI的组件类用来设计GUI的组件类 ©TheInstituteofBusiness Chapter10JavaJava提供的Jae类的实例是一个底层容器,即通常所称的窗口。其他组件必须被添加到底层容器中,以便借助这个地层容器和操作系统进行信息JFrame类是Container类的间接子类。当需要一个窗口时,可使用JFrame或其子类创建象 ©TheInstituteofBusiness Chapter10Java. JFrame()创建一个无标题的窗JFrame(Strings)创建标题为s的窗口publicvoidsetBounds(inta,intb,intwidth,intheight设置窗口的初始位置是(a,b),publicvoidsetSize(intwidth,intheight)设置窗口的大小publicvoidsetVisible(booleanb)设置窗口是否可见,窗口默认是不可见的。publicvoidsetResizable(booleanb设置窗口是否可调整大小,默认可调整大小。publicvoiddispose撤消当前窗口,并释放当前窗口所使用的资源。publicvoidsetExtendedState(intstate)设置窗口的扩展状态publicvoidsetDefaultCloseOperation(intoperation)该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。例题10-1 ©TheInstituteofBusiness Chapter10Java. 负责创建菜单,J 立一空标题的 (Strings)建立一个指定标题菜单,标题由参数s确定publicvoid Itemitem)向菜单增加由参数item指定的菜单选项public ItemgetItem(intn)得到指定索引处的菜单选publicintgetItemCount()得到菜单选项的数 ©TheInstituteofBusiness Chapter10Java. 菜单下几
JComponent类的子类 Item负责创建菜单项 Item类的方法有 Item(Strings)构造有标题的菜单 Item(Stringtext,Iconicon)构造有标题和图标的菜单项publicvoidsetEnabled(booleanb设置当前菜单项是否可被选择。publicStringgetText()得到菜单选项的名字。单J 是J It的子类,因此菜单本身也是一个菜单项,当把个菜单看作菜单项添加到某个菜单中,称这样的菜单为子菜。菜单上的图标:图标类 一个图标,然后使用其子类ImageIcon类创建一图标,如:Iconicon=new 例题10- ©TheInstituteofBusiness Chapter10Java使用JComponent的子类JTextField创建文本文本框的特点是允许用户在文本框中输 ©TheInstituteofBusiness Chapter10Java. JTextField()创建文本框,文本框的长度为一个机器字符长。TextField(Strings)创建文本框,文本框的初始字符串为s。publicvoidsetText s)设置文本框中的文本为参数s指定的文publicStringgetText()获取文本框中的文本publicvoidsetEditable(booleanb)指定文本框的可编辑性。文本框默认为可setHorizontalAlignment(intalignment)设置文本框中文本的对齐方式JTextField.RIGHTpublicvoidaddActionListenerActionListener向文本框增加JTextField.RIGHTpublicvoidaddActionListenerActionListener向文本框增加动作监视器(监视 到文本框)publicvoidremoveActionListener(ActionListener)移去文本框上的动作器。例题10- ©TheInstituteofBusiness Chapter10Java. 当用户在文本框中键入文本后按回车键、单击按钮、在一个下拉式列表表中选择一个条目等操作时,都发生界面事件。事件源:能够产生事件的对象都可以成为事件源监视器:事件源通过调用相应的方法将某个对象 自己的监视器。对于文本框,这个方法是:处理事件的接口:Java规定:为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须实现相应的接口,那么当事件源发生事件时,监视的接口。对于文本框,这个接口的名字是该接口中只的接口。对于文本框,这个接口的名字是该接口中只有一 ©TheInstituteofBusiness Chapter10Java. ActionEvent类中的方法publicObjectgetSource()ActionEven对象调用该以获取发生ActionEvent事件的事件源对象 publicString mandActionEvent对象调用该例题10-4,例题10- ©TheInstituteofBusiness Chapter10Java. ©TheInstituteofBusiness Chapter10Java. 内部类 例题10-当事件的处理比较简单,系统也不复杂时,使 类做监视器是一个不错例题10- ©TheInstituteofBusiness Chapter10Java. 事件的处理比较方便,这是因为,监视器可以方视器。让事事件的处理比较方便,这是因为,监视器可以方例题10-例题10- ©TheInstituteofBusiness Chapter10Java. 模Java的事件处理是基于 模式,即事件源调用调用方法将 接口回addXXXListener(XXXListenerlistener);方法中的参数是一3.Java语言使用接口回addXXXListener(XXXListenerlistener);方法中的参数是一3.从方法绑定角度看,Java口。4.保持松藕合监视器和事件源应当保持是一种松藕合 ©TheInstituteofBusiness Chapter10Java. ,Strings,intcolumns);该构造 2PlainDocumnet的一个实例,默认文档类型允许在文本框里任意地输入、删除字符。PlainDocumnet类有如下两个重要的方insertString(intoffset,Strings,AttributeSeta);在位置offset处remove(intoffset,intlength);从位置offset处移去文本框中一段 ©TheInstituteofBusiness Chapter10Java. 可以通过上述构造方法或JTextFieldsetDocutment(PlainDocumnetd)改变文本框的文档类型。可以扩展PlainDocumnet,重写父类PlainDocumnet中的 ©TheInstituteofBusiness Chapter10Java框使用JComponent的子类JPasswordField创 框文本框
框是允许用户
框中输入单 ,码框的默认回显字符是‘*框常用方char[]getPassword():返回实际的 ©TheInstituteofBusiness Chapter10Java按JComponent的子类JButton类用来创建按JButton类常用的方Button(Stringname)创建名字是namepublicJButton(Iconicon)创建带有图标iconpublicJButton(Stringname,Iconicon)创建名字是name且带有图标iconpublicvoidsetText(Stringname)publicStringgetText()publicvoidsetIcon(Iconicon)publicIcongetIcon()publicvoidsetHorizontalTextPosition(inttextPosition)publicvoidpublicvoidsetMnemonic(charmnemonic设置按钮的键盘激活方式,mnemonic的有效值是:’a’~’zpublicvoidaddActionListener(ActionListener按钮对象调用该方法可以向按钮注册ActionEvent事件监视 ©TheInstituteofBusiness Chapter10Java 按钮可以触发按钮可以触发ActionEvent事件。例题10- ©TheInstituteofBusiness Chapter10Java.JComponent的子类JLabel创建的对象称 。JLabel类的常用方法如publicJLabel()创建没有名字 publicJLabel(Strings)创建名字是s ,s 中靠左对齐publicJLabel(Strings,intaligment参数aligment决 中的文字 中的水平对齐方式publicJLabel(Icon 创建具有图标icon ,icon 中靠左对齐StringgetText()获 的名字 的名字是s IcongetIcon()获 的图标voidsetIcon(Iconicon)设 的图标是icon参数a确定名字相对 上的图标的位置voidsetVerticalTextPosition(int参数a确定名字相对于JLabel上的图标的位 ©TheInstituteofBusiness Chapter10Java菜单项可以发生ActionEvent事件,即选中菜单项能导致ActionEvent事件的发生,因此,可以通过处理例题10- ©TheInstituteofBusiness Chapter10Java容器可以使用方setLayout(布局对象);设置自己的布 ©TheInstituteofBusiness Chapter10Java FlowLayoutFlowLayout类创建的对象称做FlowLayout型布局。FlowLayout型布局是JPanelFlowLayout类的一个常用构造方法如下:例如:FlowLayoutflow=new该构造方法可以创例如:FlowLayoutflow=newcon可以使用Container类提供的add方法将组件顺序地添加到容器中FlowLayoutsetAlignment(intaligin):重新设置布局的对齐setHgap(inthgap)和setVgap(intvgap):重新设置水平间隙和垂直间 ©TheInstituteofBusiness Chapter10Java BorderLayout布BorderLayout布局是Window如果一个容器使用这种布局,那么容器空间简单地划分为东、西、南、北、中五个区域一个使用BorderLayout布局的容器con,可以使用add方法将一个组件b或例题10 ©TheInstituteofBusiness Chapter10Java CardLayout假设有一个容器con,那么,使用CardLayout1.创建CardLayout对象作为布局,如:CardLayoutcard=new使用CardLayout的容器可以容纳多个组件,这些组件被层叠假设有一个容器con,那么,使用CardLayout1.创建CardLayout对象作为布局,如:CardLayoutcard=new使用容器的setLayout()方法为容器设置布局,如容器调用addStrinsComonentb)将组件b加入容4.card.show(con,s);显示4.card.show(con,s);显示容器con中组件代号为s的组card.first(con);显示con中的第一个组件card.last(con);显示con中最后一个组件card.next(con);显示当前正在被显示的组件的下一个组card.previous(con);显示当前正在被显示的组件的前一个组件例题10- ©TheInstituteofBusiness Chapter10Java GridLayoutGridLayout是使用较多的布局编辑器,其基本布局策略是把容器划分成若干行乘若干列的网格区域,组件就位于这些分出来的小格使用GridLayout布局编辑器的一般步骤如下1.使用GridLayout的构造方法GridLayout(intm,intn)创建布局对象,指定划分网格的行数m和列数n,GridLayoutgrid=newnewGridLayout(10,8).使用GridLayout布局的容器调用方法add(Componentc)将组件c加入容器.用GridLayout布局的容器最多可添加m×n个组件使用容器嵌套,可以设计出符合一定需要的布 ©TheInstituteofBusiness 2 Chapter10Java BoxLayout布用BoxLayout类可以创建一个布局对象,称为盒式使用BoxLayou的构造方法BoxLayout(Containercon,,intaxis)可以创axisBoxLayout.X_AXIS、BoxLayout.Y_AXIS。该参数axis的取值决定盒式布局是行型盒式布局或列型2.使用Box类的类(静态)方createHorizontalBox()获得一个具有行盒式布局的盒式容器使用Box类的类(静态)方法createVerticalBox()获得一个具有列式布局的盒式容见的水平Struct对象,称做水平支撑。该水平支撑的高见的水平Struct对象,称做水平支撑。该水平支撑的高度为0宽度是width 例题10- ©TheInstituteofBusiness Chapter10Java null布例如,p是某个容器p.setLayout(null);把p的布局设置为空布局向空布局的容器p添加一个组件c需要两个步首先,容器p使用add(c)方法添加组然后组件c再调用setBounds(inta,intb,intwidth,intheight)设置该组件在容器p中的位置和本身的大小 ©TheInstituteofBusiness Chapter10Java§108文本JComponent的子类JTextArea负责创建文本 ©TheInstituteofBusiness Chapter10Java JTextArea类的主要JTextAea()使用这个构造方法创建文本区,则文本区的可见列数、行数取默认值。文本区有水平和垂直滚动条。JTextArea(Strings)使用这个构造方法创建文本区,则文本区的初始字符串为s。文本区的可见列数保证能看见字符串、可见行数取默认值。文本区有水平和垂JTextArea(intx,inty使用这个构造方法创建文本区,文本区的可见行数为y,可见列数为x。文本区有水平和垂直滚动条。publicvoidsetText(Strings)文本区调用该方法可以将文本区中的文本设置为参数s指定的文本,文本区中先前的文本被清publicStringgetText()文本区调用该方法可以获取文本区中的文publicvoidinsert(Strings,intx)文本区调用该方法可以在指定位置x例题10- ©TheInstituteofBusiness Chapter10Java§10.8.2文本区上 Event事文本区可以触 Event事件 Event类javax.swing.event包中文本区使用addDucumentListener(监视器);方法向文本 的文 监器创建监视器的类需实 Listener接口,该接口中有三个方法publicvoid Eventpublicvoid Eventpublicvoid Event 文本区 方法返回 的文档例题10- ©TheInstituteofBusiness 选择JComponent的子类JCheckBox 称选框JCheckBox类常用publicJCheckBoxpublicJCheckBox(Stringname创建名字是namepublicJCheckBox(Iconicon创建带有默认图标iconpublicJCheckBox(StringnameIconicon创建一个带有默认图标和名字namepublicvoidsetIcon(IcondefaultIconpublicvoidsetSelectedIcon(IconselectedIcon)设置选择框选中状态下的图标。publicbooleanisSelected如果选择框处于选中状态该方法返回true,否则返回false。publicStringgetText()选择框调用该方法可以获取选择框的名称。选择框上的ItemEvent事发生ItemEvent事件的事件 监视器的方法是接口方法:publicvoiditemStateChanged(ItemEvent和 ©TheInstituteofBusiness Chapter10Java JRadioButton单选按在一组单选按钮中用户只能选中一个例题10-使例题10- ©TheInstituteofBusiness Chapter10Java 下拉的子 下拉列表常用方publicvoidaddItem(ObjectanObject)下拉列表调用该方法增加选项。publicintgetSelectedIndex返回当前下拉列表中被选中的选项的索引。publicObjectgetSelectedItem()返回当前下拉列表中被选中的选项。.publicvoidremoveItemAt(intanIndex)从下拉列表的选项中删除索引值是anIndexpublicvoidremoveAllItemspublicvoidaddItemListener(ItemListener)下向下拉列 下拉式列表上的ItemEvent发生ItemEvent事件的事件 监视器的方法是接口方法:publicvoiditemStateChanged(ItemEvent例题10- ©TheInstituteofBusiness Chapter10Java§1010容JComponent子类创建的组件也都是容器JPanel面 .滚动窗格JScrollPane.拆分窗格JSplitPane.JLayeredPane ©TheInstituteofBusiness Chapter10Java§1013ComponentComponent类是所有组件的父类组件都是矩形形状,组件本身有一个默认的坐标 ©TheInstituteofBusiness Chapter10Java§10.13.1组件的1、组件的常用publicvoidsetBackground(Colorc)设置组件的背景色。publicvoidsetForeground(Colorc)设置组件的前景色。publicColorgetBackground()获取组件的背景色。publicColorgetForeground()获取组件的前景色。2、Color类的构造publicColor(intred,intgreen,ingblue) ©TheInstituteofBusiness Chapter10Java 组件的字1、组件的常用方publicvoidsetFont(Fontf设置组件上的字体publicFontgetFont获取组件上的字2、Font类创建的对象称为字体对象。Font类的构造方publicFont(Stringname,intstyle,intFont类在java.awt包中3、获取计算机上所有可用的字体名称,并存放到字符串数GraphicsEnvironmentString例题10- ©TheInstituteofBusiness 2013级及信管专业基础课 Chapter10Java 组件的大小与位publicvoidsetSize(intwidth,intheight)设置组件的大小publicvoidsetLocation(intx,inty设置组件在容器中的位publicDimensiongetSize返回一个Dimension对象,该对像含有名字是width和height的成员变量,with的值就是组件的宽度、height的值就是组件publicPointgetLocation()返回一个Point对象的 ,该对像含有名字是x和y的成员变量,x,y的值就是组件的左上角在容器的坐标系中的x坐标和y坐标。publicvoidsetBounds(intx,inty,intwidth,intheight)设置组件在容器中的位置和组件的大小.该方法相当于setSize方法和setLocation方法的组合。publicRectanglegetBounds返回一个Rectangle对象的,该对象含有名字是x、y、width和height的成员变量,x,y的值就是组件的左上角在容 ©TheInstituteofBusiness Chapter10Java 组件的激活与可见setEnabled(booleanb)设置组件是否可被激活setVisible(boolean)设置组件在该容器中的可见 ©TheInstituteofBusiness Chapter10Java§10 窗口事JFrame是Window凡是Winow子类创建的对象都可以触发WidEet ©TheInstituteofBusiness Chapter10Java WindowListener接1、窗口使用addWindowlistener方法3、WindowListener接口中有7个方法:publicvoidwindowActivated(WindowEvente)当窗口从非激活状态到激活时,publicvoidwindowDeactivated(WindowEvente)当窗口激活状态到非激活状态时,publicvoidwindowClosing(WindowEvente)当窗口正在被关闭时,监视器调用该方publicvoidwindowClosed(WindowEvente)当窗口关闭时,监视器调用该方法。publicvoidwindowIconified(WindowEvente)当窗口图标化时,监视器调用该方法。publicvoidwindowDeiconified(WindowEvente)当窗口撤消图标化时,监视器调publicvoidwindowOpened(WindowEvente)4、相关方setDefaultCloseOperation(intn) ©TheInstituteofBusiness Chapter10Java WindowAdapter适配WindowAdapter类实现了WindowListener接口。因此,例题10- ©TheInstituteofBusiness Chapter10Java§1015标任何组件上都可以发生鼠标事件,如:鼠标进入组发鼠标事件,即导致MouseEven象。 ©TheInstituteofBusiness Chapter10Java§10.15.1使用MouseListener接口处理鼠标getX获取鼠标指针在事件源坐标系中的x-坐标。getY获取鼠标指针在事件源坐标系中的y-坐标。getModifiers()获取鼠标的左键或右键。MouseEventgetX获取鼠标指针在事件源坐标系中的x-坐标。getY获取鼠标指针在事件源坐标系中的y-坐标。getModifiers()获取鼠标的左键或右键。getClickCountgetSource事件 监视器的方法是addMouseListener(MouseListenerlistener)mouseExited(MouseEventmouseClicked(MouseEvent4.Java提供了便于处理鼠标事件的适配 MouseAdapter,该类实现了mouseExited(MouseEventmouseClicked(MouseEvent4.Java提供了便于处理鼠
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省金华市东阳中学2025届高三第一次调研测试语文试卷含解析
- 11.1《过秦论》课件 2024-2025学年统编版高中语文选择性必修中册-1
- 2025届湖南省邵东县创新实验学校高三压轴卷语文试卷含解析
- 《solidworks 机械设计实例教程》 课件 任务2.2 支架草图的设计
- 广州黄埔区第二中学2025届高三冲刺模拟语文试卷含解析
- 2025届四川省南充市高三第二次联考英语试卷含解析
- 2025届四川省蓉城名校高三最后一卷语文试卷含解析
- 广东东莞外国语学校2025届高三第六次模拟考试语文试卷含解析
- 哈尔滨市第九中学2025届高三最后一模英语试题含解析
- 2025届广东省肇庆联盟校高三第三次测评语文试卷含解析
- 第二单元写作《学写传记》课件-部编版语文八年级上册
- 矿区关键任务作业指导书
- NY∕T 3349-2021 畜禽屠宰加工人员岗位技能要求
- 晋升副主任医师职称述职报告PPT
- 幼儿园小班科学:《有趣的溶解》 课件
- 一体板施工工艺标准规范标准
- 静电喷粉作业指导书11
- 测试标准(ISTA-3A中文版)
- 八年级《心理健康教育》测试题及答案
- 生命体征的观察与照护课件
- 养老机构实习生管理规范
评论
0/150
提交评论