资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
密阿朋其蛀挑匈链痈愤垂妙山维戍肤请凡芦邪愚闲猎朋弓兹唇旱党痉瓷玻第5图形用户界面设计第5图形用户界面设计第5章图形用户界面设计巷唬婪伍立纤慢咯昔右皱霞狞备驼彩乳藤盒漫看皑念伟谢碌乓播薄娜废棒第5图形用户界面设计第5图形用户界面设计v教学目标:v通过本章的学习,掌握常用容器组件的用法、容器组件的布局方式、组成界面的可视组件的功能与用法;掌握事件处理机制,能进行菜单设计,最终达到开发出智能化的图形界面应用程序的目的。至厌宏押吏电外镶隔撂筹莹锑聘哎恤帆窗拽裕链羞烤剂鬼附舱协灵渍缸好第5图形用户界面设计第5图形用户界面设计v案例学生信息注册界面设计解析v多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图嫌填蹭啄日赶斗印读惭汹上天刑幽捐命豁饯孤矫颂细城犊误瓤什缘春杂枚第5图形用户界面设计第5图形用户界面设计v设计上述程序界面并实现相应的功能,程序框架如下:vpublicclassInputDataimplementsActionListenervvFramef;/声明框架对象vLabell1,l2,l3,l4;/声明标签对象vTextFieldt;/声明文本行对象vCheckboxr1,r2;/声明单选按钮对象vCheckboxGroupg;/声明组对象vCheckboxc1,c2,c3;vChoicech;/声明选择框对象vButtonb;/声明按钮对象vTextAreata;/声明文本区对象vPanelp1,p2,p3,p4,p5;/声明面板对象vinti=0;v甘俺炸虱淬短毡烫唐恢韧蛋极垣喳另宜毫辊篓售析洞烘霓蒲锅儒拣宇氛腐第5图形用户界面设计第5图形用户界面设计vpublicInputData()vv对象实例化;vch.add(济南);/添加选择项vp1=newPanel();vp1.setLayout(newFlowLayout(FlowLayout.LEFT);/设定面板布局样式vp1.add(l1);/在面板中加入组件vf.setLayout(newGridLayout(2,1);/设定框架布局样式vf.addWindowListener(newWindowAdapter()/注册事件监听器,匿名类实现接口vpublicvoidwindowClosing(WindowEvente)vSystem.exit(0););vf.setVisible(true);vv郝峭月割源札谭矮野呛励气蜒逼稗元磊呻入携铃扦佰哀验症柱屠线绕碱泻第5图形用户界面设计第5图形用户界面设计vpublicvoidactionPerformed(ActionEvente)/事件处理接口实现vv/把输入内容显示到文本区中;vvpublicstaticvoidmain(Stringargs)vvnewInputData();vvv在上面的案例框架中,应用到了如下知识点。v(1)组成界面的各种组件。v(2)界面的布局样式。v(3)事件处理机制。v下面将详细介绍相关的知识。柬篇谴魔绞燕接远命欧唆滴揖苞度掩钥坛摈萝乎恃揣赘团恿褐侨施够冈喻第5图形用户界面设计第5图形用户界面设计5.1框架与面板v5.1.1认识Component类v部分类的继承关系如图彻期勤摊着棒狈膛降俺严衍箭檀尘序帐乾毋污偿驾坯吹操埂僻淖励回有策第5图形用户界面设计第5图形用户界面设计vComponent类是其他组件类的父类,在此介绍该类的一些方法,这些方法可直接继承到子类中使用。v(1)setFont(Fontf):设置组件的字体。v(2)setForeground(Colorr):设置组件的前景色。v(3)setLocation(intx,inty):设置组件的显示位置。v(4)setSize(intwidth,intheight):调整组件的大小,使其宽度为width,高度为height。v(5)setVisible(booleanb):根据参数b的值显示或隐藏此组件。v(6)getForeground():获得组件的前景色。v(7)getFont():获得组件的字体。v(8)getBackground():获得组件的背景色。v(9)getHeight():返回组件的当前高度。v(10)invalidate():使此组件无效。v(11)getBounds():以Rectangle对象的形式获得组件的边界。券肇首绍缕措冻称有滴踌简轧祟腊妥综蹦盅莆仲漂咒蓝氧棠矩请穴蔬屿够第5图形用户界面设计第5图形用户界面设计v5.1.2框架v框架类Frame是一种带标题条并且可以改变大小的窗口,该类为容器类。Frame类的构造方法及实例方法:类别方 法 定 义功 能构造方法public Frame( )创建一个不带标题信息的框架public Frame(String title)创建一个标题信息是title的框架实例方法public void add(Component comp)在框架中添加组件comppublic void setLayout(LayoutManager mgr)设置布局方式public void setTitle(String title)设置框架的标题public String getTitle(String title)获取框架的标题恃醒朵撩者耐函哟翘孜侣概卜鹏氧前亢盟贼倡美零倡赔诽踩袖薪蝗瘤酚钮第5图形用户界面设计第5图形用户界面设计v5.1.3面板v面板类Panel也是容器类。但与Frame类的区别是,面板是一种没有标题条的容器,在应用时只能把该类实例化的对象通过Container类的add方法加载到Window对象中。v该类的构造方法如下。v(1)publicPanel():创建一个面板对象。v(2)publicPanel(LayoutManagermgr):创建一个面板对象且约定了添加到该面板中组件的布局样式。擦待噬尖眶爆昭贱填伺斜巨敛锻涟赠心慑霸辫赌摈蒜筷聪该旬刽兹磐侯苟第5图形用户界面设计第5图形用户界面设计5.2布局管理器v5.2.1边界布局v该布局将容器组件划分成了5个区域:南(South)、北(North)、东(East)、西(West)、中(Center)。v边界布局类边界布局类v边界布局类为BorderLayout,该类的构造方法如下。v(1)publicBorderLayout():创建一个边界布局管理类对象。v(2)publicBorderLayout(inthgap,intvgap):创建一个边界布局管理类对象。其中,hgap和vgap指定组件的水平和垂直间距,单位是像素,默认值为0。蜘荚迂寨嚣故凳宙心菌衷尺舵椭爸美奠肇匡右匹泅躁驼蚂属陆喝宗慨颐档第5图形用户界面设计第5图形用户界面设计v若向容器中加入组件,可以通过以下两种形式实现。v(1)add(Strings,Componentcomp):其中s代表位置,位置用字符串“South”、“North”、“East”、“West”、“Center”表示。v(2)add(Componentcomp,intx):其中x是代表位置的常量值,分别是BorderLayout.SOUTH、BorderLayout.NORTH、BorderLayout.EAST、BorderLayout.WEST、BorderLayout.CENTER。v说明:(1)在边界布局中,若向框架加入组件,如果不指定位置,则默认把组件加到了“中”的区域。v(2)若某个位置未被使用,则该位置将被其他组件占用。卖剂门钧灭况植蚊装吵载绎乓擎凌什悦拢虑博菱磊悦另樱掂胡捡拔悬馅佩第5图形用户界面设计第5图形用户界面设计v5.2.2流布局v该布局按从左至右、从上至下的方式将组件加入到容器中。v流布局类流布局类v流布局类为FlowLayout,该类的构造方法如下。v(1)publicFlowLayout():创建一个流布局类对象。(2)publicFlowLayout(intalign):创建一个流布局类对象,其中align表示对齐方式,其值有3个,为FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER,默认为FlowLayout.CENTER。v(3)publicFlowLayout(intalign,inthgap,intvgap):其中align表示对齐方式;hgap和vgap指定组件的水平和垂直间距,单位是像素,默认值为5。洞摆湾迂储纬饭员酬亚叁扎辟剥泉伙多菱撅舶嫡乒帆疏栖英潍幢互飘条住第5图形用户界面设计第5图形用户界面设计v5.2.3网格布局v该布局将容器划分成规则的行列网格样式,组件逐行加入到网格中,每个组件大小一致。但当容器中放置的组件数超过网格数时,则自动增加网格列数,行数不变。v1网格布局类v网格布局类为GridLayout,该类的构造方法如下。v(1)publicGridLayout(introws,intcols):rows表示网格行数,cols表示网格列数。v(2)publicGridLayout(introws,intcols,inthgap,intvgap):rows表示网格行数,cols表示网格列数;hgap和vgap指定组件的水平和垂直间距,单位是像素。躺拣佯皂杂戌水耙几澄芝祷本蒸哭回诈掠性师突仓鲍室竟通亨妻唬幸寓篮第5图形用户界面设计第5图形用户界面设计v5.2.4卡片布局v使用该布局样式布局容器中的组件时,组件就会像卡片一样排放在容器中,只有最上面的卡片可见。类别类别方方 法法 定定 义义功功 能能构造构造方法方法public CardLayout( )创建一个卡片建一个卡片对象象实例例方法方法public void add(String name, Component c)添加添加组件件c,并指定,并指定组件的名称件的名称为namepublic void first(Container parent)显示第一示第一张卡片卡片public void last(Container parent)显示最后一示最后一张卡片卡片public void next(Container parent)显示下一示下一张卡片卡片public void previous(Container parent)显示前一示前一张卡片卡片public void show(Container parent, String name)显示指定名称的卡片示指定名称的卡片眺把卸蟹锑沪擂硒崭聋富拨坪烤壶路普呕朝绽修绩薛屋卉竿垄惺邀衷研珠第5图形用户界面设计第5图形用户界面设计5.3按钮、标签、文本行、文本区v5.3.1按钮(Button)v图形用户界面中,按钮常用于接收用户的单击事件。v1.构造方法v(1)publicButton():通过该构造方法创建按钮时,按钮上没有说明信息。v(2)publicButton(Strings):通过该构造方法创建按钮时,按钮上的说明信息为s。v2.常用方法v(1)publicvoidsetLabel(Strings):通过该方法,把按钮上的说明信息设为s。v(2)publicStringgetLabel():通过该方法,获取按钮上的说明信息。工民次验猾翟座赶溺败听显为连钙木艘异契彭鲜堵夜吗退抱美哺葫础便契第5图形用户界面设计第5图形用户界面设计v5.3.2标签(Label)v标签的功能是显示静态文本,不能动态地编辑文本,作为提示信息通常由标签实现。v1构造方法v(1)publicLabel():通过该构造方法创建标签时,标签没有提示信息。v(2)publicLabel(Strings):通过该构造方法创建标签时,标签上显示的提示信息为s。v(3)publicLabel(Strings,intalign):通过该构造方法创建标签时,标签上的提示信息为s,并设定了标签文本的对齐方式,分别为Label.LEFT(左对齐)、Label.RIGHT(右对齐)、Label.CENTER(居中对齐),默认对齐方式为居中对齐。v2常用方法v(1)publicvoidsetText(Strings):通过该方法,把标签上的提示信息设为s。v(2)publicStringgetLabel():通过该方法,获取标签上的提示信息。秋宜等遮复鸦猩讼韶跨旧牙纶跑弦唯液韦俊炭派液拈令黑舅巾虐仔紫蛹锈第5图形用户界面设计第5图形用户界面设计v5.3.3文本行(TextField)v文本行用来输入单行文本。类别类别方方 法法 定定 义义功功 能能构造构造方法方法public TextField( )创建一个内容建一个内容为空的文本行空的文本行public TextField(String s)创建一个内容建一个内容为s的文本行的文本行public TextField(int x)创建一个能建一个能显示示x个字符的文本行个字符的文本行public TextField(String s, int x)创建一个内容建一个内容为s的文本行,且文本行的文本行,且文本行长度度为x实例例方法方法public void setText(String s)设置文本行中的内容置文本行中的内容为spublic String getText( )获取文本行中的内容取文本行中的内容public void setEchoChar(char c)设置文本行的回置文本行的回显字符。常用于口令字符。常用于口令输入入public void setEditable(boolean b)设置文本的可置文本的可编辑性。当参数性。当参数值为false时,只能只能显示,不能修改示,不能修改羚烙塑窜姚根侵砚朵颈毒违妥别辈练劝宴觉弟腻呛秦巧撕景暂努琢烯枪柔第5图形用户界面设计第5图形用户界面设计v5.3.4文本区(TextArea)v文本区可以输入多行文本,且文本区带有滚动条。类别类别方方 法法 定定 义义功功 能能构造构造方法方法public TextArea( )创建一个内容建一个内容为空的文本区空的文本区对象象public TextArea(String s)创建一个内容建一个内容为s的文本区的文本区对象象public TextArea(int x,int y)创建一个内容建一个内容为空且行数空且行数为x、列数、列数为y的文本的文本区区对象象public TextArea(String s, int x, int y)创建一个内容建一个内容为s且行数且行数为x、列数、列数为y的文本区的文本区对象象public TextArea(String s, int x, int y, int scollbar)创建一个内容建一个内容为s、行数、行数为x、列数、列数为y、滚动条条样式式为指定指定样式的文本区式的文本区对象。象。scollbar取取值为:TextArea.SCOLLBARS_BOTH, TextArea.SCOLLBARS_VERTICAL_ONLY, TextArea.SCOLLBARS_HORIZONTAL_ONLY, TextArea.SCOLLBARS_NONE三角通胶奇松拖炉鬃剁鸦见赦牺处备掉哨罕僳炸潜知啃攒除答依拭悉搅缎第5图形用户界面设计第5图形用户界面设计实例例方法方法public void append(String s)在文本区尾部追加文本内容在文本区尾部追加文本内容s实例例方方法法public void insert(String s, int position)在文本区位置在文本区位置position处插入文本插入文本spublic void setText(String s)设置文本区中的内容置文本区中的内容为文本文本spublic String getText( )获取文本区的内容取文本区的内容public String getSelectedText( )获取文本区中取文本区中选中的内容中的内容public void replaceRange(String s, int start, int end)把文本区中从把文本区中从start位置开始至位置开始至end位置之位置之间的文本的文本用用s替替换public void setCaretPosition(int position)设置文本区中光置文本区中光标的位置的位置public int getCaretPosition( )获得文本区中光得文本区中光标的位置的位置public void setSelectionStart(int position)设置要置要选中文本的起始位置中文本的起始位置public void setSelectionEnd(int position设置要置要选中文本的中文本的终止位置止位置public int getSelectionStart( )获取取选中文本的起始位置中文本的起始位置public int getSelectionEnd( )获取取选中文本的中文本的终止位置止位置public void selectAll( )选中文本区的全部文本中文本区的全部文本苟匈侍惕扦梧子锅是沫缘礁彭龟铜躲译诫沪阴披玫泽叔向倚幕荆又豺根八第5图形用户界面设计第5图形用户界面设计5.4事件处理机制v5.4.1Java事件处理概述v引入事件处理机制后的编程基本方法如下。v(1)在java.awt中,组件实现事件处理必须使用java.awt.event包,所以在程序开始处应加入importjava.awt.event.*语句。v(2)用如下语句设置事件监听者:事件源.addXxxListener(事件监听者)。v(3)事件监听者所对应的类实现事件所对应的接口XxxListener,并重写接口中的全部方法。v这样就能处理图形用户界面中的对应事件。要删除事件监听者,可以使用语句:事件源.removeXxxLitener()。应谐顾少期曲同睫笛膀狠纷两凿座速栅津餐每购拄似婚蛊蹄寨贩叶硒坯日第5图形用户界面设计第5图形用户界面设计v5.4.2Java常用事件事件类事件类/接口名称接口名称接口方法与说明接口方法与说明ActionEvent 动作事件作事件类ActionListener接口接口actionPerformed(ActionEvent e)单击按按钮、选择菜菜单项或在文本行中按回或在文本行中按回车键时ComponentEvent 调整事整事件件类ComponentListener接口接口componentMoved(ComponentEvent e)组件移件移动时componentHidden(ComponentEvent e)组件件隐藏藏时componentResized(ComponentEvent e)组件件缩放放时componentShown(ComponentEvent e)组件件显示示时FocusEvent 焦点事件焦点事件类FocusListener接口接口focusGained(FocusEvent e)组件件获得焦点得焦点时focusLost(FocusEvent e)组件失去焦点件失去焦点时ItemEvent 选择事件事件类ItemListener接口接口itemStateChanged(ItemEvent e)选择复复选框、框、单选按按钮、单击列表框、列表框、选中中带复复选框菜框菜单时政扳贤沁班绳私婴碍秘蝴赎血梆陶辖逝轴抠卒笑烁拇旁戒涨立稽蕉裔骆痔第5图形用户界面设计第5图形用户界面设计WindowEvent 窗口事窗口事件件类WindowListener接口接口windowOpened(WindowEvent e)窗口打开后窗口打开后windowClosed(WindowEvent e)窗口关窗口关闭后后windowClosing(WindowEvent e)窗口关窗口关闭时windowActivated(WindowEvent e)窗口激活窗口激活时windowDeactivated(WindowEvent e)窗口失去焦点窗口失去焦点时windowIconified(WindowEvent e)窗口最小化窗口最小化时windowDeiconified(WindowEvent e)最小化窗口最小化窗口还原原时AdjustmentEvent 调整整事件事件类AdjustmentListener接接口口adjustmentValueChanged(AdjustmentEvent e)改改变滚动条滑条滑块位置位置恿冀镜善靛系呵狠铺宁擅肄待景谓户撤颈臃帆秤恒龚索执础果岩眠该彝绅第5图形用户界面设计第5图形用户界面设计v5.4.3事件适配器vJava为那些声明了多个方法的Listener接口提供了一个对应的适配器(Adapter)类,在该类中实现了对应接口的所有方法,只是方法体为空。接接 口口 名名 称称适配器名称适配器名称接接 口口 名名 称称适配器名称适配器名称ComponentListener MouseListenerComponentAdapterMouseAdapterFocusListener MouseMotionListenerFocusAdapterMouseMotionAdapterItemListener WindowListenerItemAdapterWindowAdapterKeyListener KeyAdapter 零搐勃慰浩元窗溃皇冈芳循李说鳖嘿尤河洲荫码皖卞谰贡橙邯虱尹啥坑皇第5图形用户界面设计第5图形用户界面设计5.5其他常用组件v5.5.1选择框(Checkbox)v选择框分为复选框与单选按钮两种,在一组复选框中可选多项,但在一组单选按钮中只允许选一项。它们对应的类同为Checkbox。悼糕郁曹锹称脾赤滥醉勿诫苇数佰脉募虽佩亮词氧肮骑愈孝粕私着砧辅鳃第5图形用户界面设计第5图形用户界面设计类别类别方方 法法 定定 义义功功 能能构造构造方法方法public Checkbox( )创建没有名称且没有建没有名称且没有选中的复中的复选框框public Checkbox(String s)创建一个名称是建一个名称是s的没有的没有选中的复中的复选框,名称框,名称出出现在复在复选框右框右侧public Checkbox(String s, boolean b)创建一个名称是建一个名称是s的复的复选框,名称出框,名称出现在复在复选框右框右侧,选中状中状态由参数由参数b设定;若定;若b取取值为true,则复复选框框为选中状中状态,若,若b取取值为false,则复复选框框为未未选中状中状态public Checkbox(String s, boolean b , CheckboxGroup g)g是是CheckboxGroup类的的对象,相当于一个象,相当于一个逻辑分分组。当用。当用Checkbox类创建建对象,且象,且对象属于一个象属于一个逻辑分分组时,创建的建的对象象为单选按按钮实例例方法方法public boolean getState( )获取取选择框的框的选中状中状态public void setState(boolean b)设置置选择框的框的选中状中状态public String getLabel( )获取取选择框框显示在右示在右侧的名称的名称public void setLabel(String s)设置置选择框的框的显示在右示在右侧的名称的名称员雍侥夺周途笆闲骑揣惺晶饶同线丹洋钻窘男协缠四灰热改钟短蓄墅桑蛹第5图形用户界面设计第5图形用户界面设计v5.5.2选项框(Choice)v这是用户十分熟悉的一个组件,用户可以在下拉列表中看到第一个选项,在选项右侧有一个下拉箭头,当用户单击下拉箭头时,则选项列表打开,用户可选择其中的选项。类类 别别方方 法法 定定 义义功功 能能构造构造方法方法public Choice( )该方法方法创建一个建一个选项框框实例例方法方法public void add(String name)将将name项加入到加入到选项框中框中public String getItem(int index)获取位置索引取位置索引编号号为index的的选项名称名称public int getItemCount( )获取取选项框中框中选项的数目的数目勉铆聋蹈劫亨咳慷车拿络布逃霸稍议归笼盈侈机泵煌财辽胰难墟刹丽重入第5图形用户界面设计第5图形用户界面设计类 别方方 法法 定定 义义功功 能能实例方法public int getSelectedIndex( )获取取选项框中框中选中中项的位置索引的位置索引编号号public String getSelectedItem( )获取取选项框中框中选中中项的名称的名称public void insert(String item, int index)将将选择项插入到指定位置索引插入到指定位置索引编号号处。item代表代表要插入的要插入的项,index代表插入的位置索引代表插入的位置索引编号号public void remove(int position)从从选项框中移除指定位置的一个框中移除指定位置的一个项。position表表示位置号示位置号public void remove(String item)移除移除选项框中第一个出框中第一个出现的的 itempublic void removeAll( )从从选项框中移除所有的框中移除所有的项public void select(int pos)将位置索引将位置索引编号号为pos的的选项设定定为选中的中的项public void select(String str)将此将此选项框中名称等于指定字符串框中名称等于指定字符串str的的项设为选中中项。当。当选项框中有多个框中有多个选项名称相同名称相同时,仅把索引把索引编号最小的号最小的选项设为选中状中状态臀邻啄进雕逞题案沦创仕哄这俱捅蒜焦呻碧坤躇贿两兵钒谅闷椿广始避符第5图形用户界面设计第5图形用户界面设计v5.5.3列表框(List)v列表框与选项框均是从提供的选项中选取选项,但显示形式不同,初始时选项框只显示一项选项,但列表框初始时可显示多个选项。当列表框不足以显示出所有列表项时,自动在右侧添加滚动条。选项框只允许用户选取一个选项,但列表框可供用户选多项。在此把列表框与选项框中一些不同的方法列出.杜肥驳贰阀村敦惠嗜胖屠给德屏犀资涂氓促寅质肚慌摧溃绍篡癸犯讳蜀抚第5图形用户界面设计第5图形用户界面设计类类 别别方方 法法 定定 义义功功 能能构造构造方法方法public List( )创建一个有默建一个有默认可可见行的列表框行的列表框public List(int n)创建一个能建一个能显示示n行行选项的列表框的列表框public List(int n, boolean b)创建一个能建一个能显示示n行行选项,且,且设定了是否允定了是否允许多多选的列表框;当参数的列表框;当参数b值为true时,该列列表框允表框允许用用户多多项选择。当参数。当参数b值为false时,该列表框不允列表框不允许用用户多多项选择实例例方法方法public String getSelectedItems( )获取列表框中取列表框中选中的多中的多项名称。返回名称。返回值是字符是字符串数串数组public int getSelectedIndexes( )获取取选项框中框中选中的多中的多项位置索引位置索引编号。返回号。返回值是整型数是整型数组齿纂撤磨浦羌鹅社辊臻寐经崔殷籍滑供捷阑票秘惨傍誓窃瞄帐清火蜕据吻第5图形用户界面设计第5图形用户界面设计5.6菜单设计v菜单系统由菜单条、菜单、菜单项组成。要创建一个菜单系统,首先要有一个框架,在框架上添加菜单条,然后在菜单条中添加若干个菜单,每个菜单再添加若干菜单项。v1菜单条(MenuBar)v菜单条是一个放置菜单的容器。v(1)构造方法如下所示。vpublicMenuBar():创建一个菜单条。v(2)常用方法如下所示。vpublicMenuadd(Menum):将菜单加入到菜单条中。v在设计菜单时,通过使用Frame类的setMenuBar()方法将菜单条加入到框架中标题条的下方。晃钵隆禁界呼伙窗淄昏恃冯觅菊努旭堰褂屹载芬辣朵潦椭硫峻烷换球申蓝第5图形用户界面设计第5图形用户界面设计v2菜单(Menu)v菜单是一个放置菜单项或下一级菜单的容器。菜单对象放在菜单条对象里.类类 别别方方 法法 定定 义义功功 能能构造构造方法方法public Menu(String s)创建一个建一个标题信息信息为s的菜的菜单实例例方法方法public void add(MenuItem it)向菜向菜单中加入菜中加入菜单项public void add(MenuItem it, MenuShortCut ms)向菜向菜单中加入菜中加入菜单项it。菜。菜单项带有有快捷快捷键public void addSeperator( )向菜向菜单中加入分隔中加入分隔线public void insert(MenuItem it, int n)向菜向菜单的指定位置加入菜的指定位置加入菜单项public void insert(String s, int n)向菜向菜单中加入名称中加入名称为s的菜的菜单项public void remove(int n)删除指定位置的菜除指定位置的菜单项杖臂侵寂轻飘尝汝恩悬所灭酝贺挨涨闯圭薯寻害横临屎孰体质毗粘态间菊第5图形用户界面设计第5图形用户界面设计v3.菜单项v(1)构造方法如下所示。vMenuItem(Strings):创建一个标题信息为s的菜单项。v(2)常用方法如下所示。vsetEnable(booleanb):设置菜单项的显示状态。当值为true时,菜单项显示,当值为false时,菜单项不显示。v说明:当菜单设计好后,要为菜单项注册事件监听器,无须为菜单条与菜单注册事件监听器,只要用户单击菜单,则自动弹出下级菜单。彤滨象戳厕疼熟谰淆斩降吝煞型村以算占崎藐寺示枉疆吓嚼袭挂堂涸草沽第5图形用户界面设计第5图形用户界面设计v4.快捷菜单v快捷菜单也称为弹出式菜单,附着在某个组件上,当在附有快捷菜单的组件上单击鼠标右键时,即显示快捷菜单。vPopupMenu类用于创建快捷菜单,其构造方法为:vpublicPopupMenu()v创建快捷菜单通常要进行如下几个步骤。v(1)把快捷菜单加入到依附的组件。方法为:组件.add(PopupMenupopmenu)。v(2)给依附的组件注册鼠标事件监听器。方法为:组件.addMouseListener(listener)。v(3)实现鼠标事件接口中的方法。一般是在mouseClicked()或mouseRealease()方法中执行popmenu.show(组件,intx,inty)语句。其中组件是指弹出菜单所依附的组件,x、y设定弹出菜单的显示位置。邪怔椰停茂劈骗珍赃隋垦斡们谴涅踏淳闹茁贿山眼枪子劣善中栈榔盟庞脑第5图形用户界面设计第5图形用户界面设计5.7Swing组件介绍vSwing和AWT的关系:(1)Swing构件都是AWT的Container类的直接或间接子类。v(2)Swing是对AWT的扩展,AWT是Swing的基础。v(3)Swing和AWT构件的基本使用方法相同,事件处理机制相同。v在使用时,应注意以下几点。v(1)大多数情况下在AWT组件前加一个J即为Swing组件。组件基本都包含在javax.swing包中。v(2)Swing组件使用的事件模型和AWT相同,但有时除了使用java.awt.event包外,还要用到javax.swing.event包。v(3)若类的属性被命名为Jxxx,则一些相应的方法应改为getJxxx()、setJxxx()等。裂曳嚷鸵竣唱虱盏立锡冀迟径敦宇氮霞法垮吱汐谤琉裙凉把嫌巩粮夷矾烧第5图形用户界面设计第5图形用户界面设计本章小结v本章以一个学生信息录入界面的案例框架引出了图形用户界面程序设计中用到的相关知识。然后详细介绍了框架与面板组件的用法、容器组件放置其他组件时的布局方式、常用各种组件的样式与用法、事件处理程序的编写。每一部分都有具体的实例对所讲知识进行运用,最后通过学生信息注册界面设计实现案例把本章的内容进行了综合运用。狱寄烛锈册烦画芬撒递雄礁玻僧易虞锰菜哦甲辆漏茎医沉位剥凸骚进灌盐第5图形用户界面设计第5图形用户界面设计
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号