第4章图形用户界面设计优秀PPT.ppt

上传人:石*** 文档编号:52240939 上传时间:2022-10-22 格式:PPT 页数:70 大小:2.69MB
返回 下载 相关 举报
第4章图形用户界面设计优秀PPT.ppt_第1页
第1页 / 共70页
第4章图形用户界面设计优秀PPT.ppt_第2页
第2页 / 共70页
点击查看更多>>
资源描述

《第4章图形用户界面设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第4章图形用户界面设计优秀PPT.ppt(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第4章章 图形用户界图形用户界面设计面设计现在学习的是第1页,共70页第第 4 章章 主要内容主要内容1、Applet及及awt类包类包2、文本组件及按钮类、文本组件及按钮类3、面板与布局管理、面板与布局管理4、事件处理、事件处理5、常用图形用户界面组件、常用图形用户界面组件现在学习的是第2页,共70页4.1awt类包及类包及Applet4.1.1 AppletApplet是一个功能非常强大的能够是一个功能非常强大的能够嵌入到嵌入到HTML页面中,并在浏览器中自页面中,并在浏览器中自动执行的动执行的Java程序。当使用浏览器对程序。当使用浏览器对一个包含一个包含Applet的的Web页面进行

2、浏览页面进行浏览时,浏览器将从时,浏览器将从Web服务器下载服务器下载Applet程序到本地执行。程序到本地执行。现在学习的是第3页,共70页1、Applet的定义的定义public class Applet extends Panel public Applet();public void start();public void stop();public URL getDocumentBase();现在学习的是第4页,共70页2、Java Applet程序的一般形式程序的一般形式import java.applet.*;public 类名类名 extends Applet public v

3、oid init();public void start();public void stop();public void destroy();4个生个生命周期命周期现在学习的是第5页,共70页3、Java Applet程序的运行程序的运行现在学习的是第6页,共70页4.1.2 awt类包类包(1)基本的窗口类:)基本的窗口类:Frame、Dialog(2)基本的)基本的GUI组件类:组件类:Button、Label、TextField、TextArea、Checkbox(3)基本的事件接口:)基本的事件接口:ActionListener、WindowListener、MouseListene

4、r、KeyListener(4)界面布局控制类:)界面布局控制类:FlowLayout、BorderLayout、GridLayout、CardLayout(5)基本的绘图支持类:)基本的绘图支持类:Graphics、Canvas现在学习的是第7页,共70页4.2文本组件及按钮类文本组件及按钮类现在学习的是第8页,共70页4.2.1文本组件类文本组件类1、TextComponent 类类方法名方法名功能功能setText(String t)设设置文本内容置文本内容getText()获获取文本内容取文本内容isEdit()检测检测文本的可文本的可编辑编辑性性setEdit(Boolean b)检

5、测检测文本的可文本的可编辑编辑性性getSelectedText()获获取取选选取文本内容取文本内容select(int selStart,intselEnd)选选取文本内容取文本内容现在学习的是第9页,共70页2、TextField类类文本框文本框TextField 是对单行文本进行编辑是对单行文本进行编辑的组件。它用来接受用户的输入码或显的组件。它用来接受用户的输入码或显示可编辑的文本。示可编辑的文本。现在学习的是第10页,共70页(2)创建文本框)创建文本框TextFieldtext=new TextField(String str);现在学习的是第11页,共70页【例【例4-1】1./

6、*TextField 类的简单示例类的简单示例 */2.import java.applet.*;3.import java.awt.*;4.public class Example4_1 extends Applet5.6.TextField text1,text2,text3;7.public void init()8.9.text1=new TextField(输入密码:输入密码:,10);10.text1.setEditable(false);11.text2=new TextField(10);12.text2.setEchoChar(*);13.text3=new TextFiel

7、d(我是一个文本框我是一个文本框,20);14.add(text1);/将文本框添加到将文本框添加到Applet中中15.add(text2);16.add(text3);17.text3.setText(重新设置了文本重新设置了文本);18.19.现在学习的是第12页,共70页3、TextAear类类文本区文本区TextArea是对多行文本进行编辑是对多行文本进行编辑的组件,它拥有水平或垂直的滚动条的组件,它拥有水平或垂直的滚动条.TextArea txt1=new TextArea(行行,列列);现在学习的是第13页,共70页4、标签、标签Label类类(1)创建标签)创建标签创建标签对象

8、时应同时说明这个标创建标签对象时应同时说明这个标签中的字符串:签中的字符串:Label lb=new Label(“请输入姓名请输入姓名”);(2)常用方法)常用方法setText(String str)设置标签文本设置标签文本内容;内容;getText()获取标签文本内容。获取标签文本内容。现在学习的是第14页,共70页4.2.2按钮(按钮(Button)类)类定义:定义:1.public class Button extends Component 2.3.public Button()4.public Button(String label)5.public String getLabe

9、l()6.public void setLabel(String label)7.public void addActionListener(ActionListener l)8.public void removeActionListener(ActionListener l)9.现在学习的是第15页,共70页表表4.2 按钮按钮Button类常用方法类常用方法方法名方法名功能功能Button()构造方法构造方法Button(String label)构造方法构造方法getLabel()获获取取标签标签内容内容setLabel(String label)设设置置标签标签内容内容addActi

10、onListener(ActionListener l)设设置置监视监视器器现在学习的是第16页,共70页【例【例4-3】1./*构造按钮构造按钮*/2.import java.applet.*;3.import java.awt.*;4.public class Example5_3 extends Applet5.6.Button btn;7.public void init()8.btn=new Button(确定确定);9.add(btn);/把按钮加到把按钮加到Applet中中10.11.现在学习的是第17页,共70页ActionListener接口接口 awt对这个接口的定义是:对

11、这个接口的定义是:public interface ActionListener extends EventListener public abstract void actionPerformed(ActionEvent e)现在学习的是第18页,共70页设计处理事件的类时,就要实现这个设计处理事件的类时,就要实现这个接口。其一般形式如下:接口。其一般形式如下:class ClassName implements ActionListener btn.addActionListener(this);public abstract void actionPerformed(ActionEven

12、t e)现在学习的是第19页,共70页 通过实现通过实现ActionListener接口,使得监视器能接口,使得监视器能知道事件的发生。在知道事件的发生。在Java 中,要求产生事件的组中,要求产生事件的组件向它的监视器注册,这样,事件源与监视器就建件向它的监视器注册,这样,事件源与监视器就建立了一个对应关系。建立对应关系的语句如下:立了一个对应关系。建立对应关系的语句如下:对象名对象名.addActionListener(ClassName);其中,对象是事件源,其中,对象是事件源,ClassName是监视器。是监视器。例如:例如:btn.addActionListener(this);这条

13、语句的意思是:按钮对象(事件源)这条语句的意思是:按钮对象(事件源)btn向它的监视器(当前类)注册,也就是产生事件的向它的监视器(当前类)注册,也就是产生事件的事件源对象向监视器注册。事件源对象向监视器注册。现在学习的是第20页,共70页【例【例4-4】设计一个密码验证程序。】设计一个密码验证程序。1./*按钮动作事件按钮动作事件*/2.import java.applet.*;3.import java.awt.*;4.import java.awt.event.*;5.public class Example4_4 extends Applet implements ActionList

14、ener6.7.Label lb=new Label(“请输入密码请输入密码:”);8.TextField txt1=new TextField(25);9.Button btn=new Button(确定确定);10.TextField txt2=new TextField(25);现在学习的是第21页,共70页11.public void init()12.13.add(lb);14.add(txt1);15.txt1.setEchoChar(*);/设置掩码设置掩码16.add(btn);17.add(txt2);18.btn.addActionListener(this);19.20.

15、public void actionPerformed(ActionEvent e)21.22.if(txt1.getText().equals(abc)/比较字符串比较字符串23.txt2.setText(密码正确密码正确!);24.else25.txt2.setText(密码错误密码错误!);26.27.现在学习的是第22页,共70页作业作业:设计一个序列号程序:设计一个序列号程序:当输满一节字符后自动把焦点当输满一节字符后自动把焦点跳到下一个文本框。跳到下一个文本框。XXXXXXXXXXXXXXX请输入序列号请输入序列号:XXXXX现在学习的是第23页,共70页序列号算法序列号算法假设根

16、据用户名计算序列号。假设根据用户名计算序列号。例如将用户输入的用户名的所有例如将用户输入的用户名的所有字母字母ASCII码乘码乘199再加起来,如果用再加起来,如果用户名短于户名短于20位,补满位,补满20位,超过位,超过20位,位,只使用前只使用前20位。位。检验序列号的方法就是将根据用户输检验序列号的方法就是将根据用户输入的用户名计算一遍,然后对比计算出入的用户名计算一遍,然后对比计算出来的号码和用户输入的是否一致。来的号码和用户输入的是否一致。现在学习的是第24页,共70页4.3面板与布局管理面板与布局管理现在学习的是第25页,共70页4.3.1面板(面板(Panel)类)类 创建面板的

17、一般步骤为:创建面板的一般步骤为:(1)创建面板对象:)创建面板对象:Panel myPanel=new Panel();(2)将面板添加到)将面板添加到Applet容器中:容器中:add(myPanel);(3)把组件放置到面板上:)把组件放置到面板上:myPanel.add(组件组件);现在学习的是第26页,共70页【例【例4-5】面板】面板Panel简单示例简单示例 1./*面板面板Panel简单示例简单示例*/2.import java.awt.*;3.public class Example4_5 extends java.applet.Applet4.5.Panel panel1,

18、panel2;6.Button button1,button2,button3,button4;7.public void init()8.9.panel1=new Panel();10.panel2=new Panel();11.add(panel1);add(panel2);/添加面板添加面板12.button1=new Button(Button1);13.button2=new Button(Button2);14.button3=new Button(Button3);15.button4=new Button(Button4);16.panel1.add(button1);pane

19、l1.add(button2);17.panel2.add(button3);panel2.add(button4);18.panel1.setBackground(Color.red);19.panel2.setBackground(Color.blue);20.21.现在学习的是第27页,共70页4.3.2布局策略布局策略Java在在java.awt包中定义了包中定义了5种布局,种布局,它们分别是:它们分别是:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout。设置布局的格式为:设置布局的格式为:容器对象容器对象.setL

20、ayout(布局策略布局策略);现在学习的是第28页,共70页1、浮动布局、浮动布局FlowLayout 浮动布局是按照组件的顺序,用浮动布局是按照组件的顺序,用add方法将组件从左至右在一行排列,方法将组件从左至右在一行排列,一行放不下时就自动换行。一行放不下时就自动换行。这是系统的默认的布局方式。这是系统的默认的布局方式。其设置的方法为:其设置的方法为:setLayout(new FlowLayout();现在学习的是第29页,共70页2、边界布局、边界布局BorderLayoutBorderLayout类把容器划分成类把容器划分成5个区域,个区域,分别标记为分别标记为“North”、“S

21、outh”、“West”、“East”和和“Center”。其设置的方法为:其设置的方法为:setLayout(new BorderLayout();中中北北西西南南东东现在学习的是第30页,共70页【例【例4-6边界布局示例边界布局示例】1./*边界布局示例边界布局示例*/2.import java.awt.*;3.public class Example4_6 extends java.applet.Applet4.5.public void init()6.setLayout(new BorderLayout();7./将其他构件加入将其他构件加入8.add(East,new Butto

22、n(东东);9.add(South,new Button(南南);10.add(West,new Button(西西);11.add(North,new Button(北北);12.add(Center,new Button(中中);13.14.现在学习的是第31页,共70页3、网格布局、网格布局GridLayoutGridLayout类以矩形网格形式对容器中的类以矩形网格形式对容器中的组件进行布局。容器被分成大小相等的组件进行布局。容器被分成大小相等的单元格,单元格的大小由最大的构件所单元格,单元格的大小由最大的构件所决定,用决定,用add方法将组件一行一行地从方法将组件一行一行地从左至右放

23、置到布局的每个单元格中。左至右放置到布局的每个单元格中。其设置的方法为:其设置的方法为:setLayout(new GridLayout(int row,int cols);row是网格的行数,是网格的行数,cols是网格的列数。是网格的列数。现在学习的是第32页,共70页4、卡片布局、卡片布局CardLayout 这种布局包含几个卡片,在某一时这种布局包含几个卡片,在某一时刻只有一个卡片是可见的,而且第一刻只有一个卡片是可见的,而且第一个卡片显示的内容可用自己的布局来个卡片显示的内容可用自己的布局来管理。管理。卡片布局设置的方法为卡片布局设置的方法为:setLayout(new CardLa

24、yout();现在学习的是第33页,共70页【例【例4-8】应用卡片布局,显示变换颜色】应用卡片布局,显示变换颜色的图案。的图案。程序的界面安排如图程序的界面安排如图:现在学习的是第34页,共70页4.4 事件处理事件处理1、AWT事件处理模型事件处理模型2、事件处理程序的编写、事件处理程序的编写现在学习的是第35页,共70页4.4.1 事件处理机制事件处理机制1、事件处理模型在事件处理的过程中,主要涉及三类对象:Event-事件,用户对界面操作在Java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。EventSource-事件源,事件发生的场所,通常就是各个组件,

25、例如按钮Button。Eventhandler-事件处理者,接收事件对象并对其进行处理的对象。现在学习的是第36页,共70页授权处理机制现在学习的是第37页,共70页2、事件类(例SimpleEvent.java)在Java中,每个事件都是某种事件类的对象,可以归为两大类:低级事件和高级事件。低级事件:KeyEvent(键盘事件:键按下、释放);MouseEvent(鼠标事件:鼠标单击,移动)。高级事件:ActionEvent(动作事件:按钮按下,TextField中按Enter键等)方法:ObjectgetSource():发生事件的对象。现在学习的是第38页,共70页3、事件监听器类(P1

26、03)每类事件都有对应的事件监听接口,如:MouseEvent-MouseListener,KeyEvent-KeyListener等。可以定义一个实现了某个事件监听接口的类,并重写需要的方法,专门负责某种事件处理。例如,定义一个事件监听类实现对键盘按下事件的监听:现在学习的是第39页,共70页publicclassKeyListenerimplementsKeyListenerpublicvoidkeyPressed(KeyEventev)/事件处理代码;publicvoidkeyReleased(KeyEventev)publicvoidkeyTyped(KeyEventev)例:KeyT

27、est.java现在学习的是第40页,共70页 1、事件处理程序的编写步骤:首先:定义一个实现了相应事件监听接口的类,如:classKeyHandlerimplementsKeyListener其次:为组件注册监听器对象,如:btn.addKeyListener(newKeyHandler();事件处理程序的编写事件处理程序的编写现在学习的是第41页,共70页2、使用类本身实现监听接口例如使用类本身监听KeyEvent事件:publicclassKeyTestimplementsKeyListenerpublicKeyTest()Buttonbtn=newButton(“Rec”)/initb

28、tn.addKeyListener(this);/addlistener/事件处理代码例:KeyTest.java现在学习的是第42页,共70页3、定义专门的外部类实现监听接口publicclassKeyTestpublicKeyTest()Buttonbtn=newButton(“Rec”);/initbtn.addKeyListener(newKeyHandler();/addlistenerclassKeyHandlerimplementsKeyListener/事件处理代码现在学习的是第43页,共70页4、用内部类实现监听接口publicclassKeyTestpublicKeyTes

29、t()Buttonbtn=newButton(“Rec”);/initbtn.addKeyListener(newKeyHandler();/addlistenerclassKeyHandlerimplementsKeyListener/事件处理代码现在学习的是第44页,共70页5、采用事件适配器Java为一些Listener接口提供了适配器类。如KeyListenerKeyAdapter等。为用户提供了一种简单的实现监听器的手段,可以缩短程序代码。可以通过继承事件所对应的Adapter类,重写需要的方法,而无关的方法不用实现。例如:KeyTest.java现在学习的是第45页,共70页6、一

30、个组件注册多个监听者由于同一个事件源上可能发生多种事件,因此Java采取了授权处理机制。事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。监听器时刻监听着事件源上所有发生的事件类型,一旦该事件类型与自己所负责处理的事件类型一致,就马上进行处理。例如:MultiListener.java现在学习的是第46页,共70页4.4.5 鼠标键盘事件鼠标键盘事件 1、鼠标事件、鼠标事件在图形界面中,鼠标的使用是最频在图形界面中,鼠标的使用是最频繁的。在繁的。在Java中,当用户使用鼠标进中,当用户使用鼠标进行操作时,就会产生鼠标事件行操作时,就会产生鼠标事件MouseWvent。对。

31、对MouseEvent事件事件的响应是实现的响应是实现MouseListener接口或接口或MouseMotinListener接口,或者是继接口,或者是继承承MouseApdapter类,来实现鼠标适类,来实现鼠标适配器配器MouseApdapter提供的方法。提供的方法。现在学习的是第47页,共70页与鼠标的事件有关可以分为两类:与鼠标的事件有关可以分为两类:(1)主要针对鼠标的坐标位置进行检测,主要针对鼠标的坐标位置进行检测,使用使用MouseListener接口;接口;(2)主要针对鼠标的拖曳状态进行检测,主要针对鼠标的拖曳状态进行检测,使用使用MouseMotinListener接口

32、。接口。现在学习的是第48页,共70页2、键盘事件、键盘事件在在Java中,当用户使用键盘进行操中,当用户使用键盘进行操作时,就会产生作时,就会产生KeyEvent事件。监听事件。监听器要完成对事件的响应,就要实现器要完成对事件的响应,就要实现KeyListener接口,或者是继承接口,或者是继承KeyAdapter类,实现对类中方法的定类,实现对类中方法的定义。义。现在学习的是第49页,共70页在在KeyListener接口中有如下接口中有如下3个事件:个事件:(1)KEY_PRESSED:键盘按键被按下所产生的事件。键盘按键被按下所产生的事件。(2)KEY_RELEASED:键盘按键被释放

33、所产生的事件。键盘按键被释放所产生的事件。(3)KEY_TYPED:键盘按键被点击所产生的事件。键盘按键被点击所产生的事件。在实现接口时,对应的上面在实现接口时,对应的上面3个事件的处理方法是:个事件的处理方法是:keyPressed(Event e);keyReleased(KeyEvent e);keyTyped(keyEvent e);现在学习的是第50页,共70页4.5常用图形用户界面组件常用图形用户界面组件 4.5.1窗体(窗体(Frame)类)类 Frame是带有标题、边框的顶层窗是带有标题、边框的顶层窗体。体。Frame包含有标题、菜单、类似包含有标题、菜单、类似于文本区的区域和

34、按钮,其外观依赖于文本区的区域和按钮,其外观依赖于所使用的操作系统。于所使用的操作系统。现在学习的是第51页,共70页(1)窗体)窗体Frame类的定义类的定义 awt对对 Frame类的定义为:类的定义为:1.public class Frame extends Window implements MenuContainer2.3.public Frame()4.public Frame(String title)5.public String getTitle()6.public void setTitle(String title)7.public MenuBar getMenuBar(

35、)8.public void setMenuBar(MenuBar mb)9.public void dispose()10.其中:第其中:第3、4、行是窗体的构造方法,第、行是窗体的构造方法,第5行是获取标题内容,第行是获取标题内容,第6行是设置行是设置标题内容,第标题内容,第7行的方法是获取在该窗体的菜单,第行的方法是获取在该窗体的菜单,第8行是设置菜单,第行是设置菜单,第9行是关闭窗体的方法。行是关闭窗体的方法。Frame 在缺省的情况是不可见的,要调用在缺省的情况是不可见的,要调用setVisible(true)方法使其可见。方法使其可见。Frame 默认的布局方式为默认的布局方式为B

36、orderLayout布局。布局。现在学习的是第52页,共70页(2)创建窗体)创建窗体创建窗体有二种方法,一种方法是创建创建窗体有二种方法,一种方法是创建Frame类的子类,并重写其构造方法。类的子类,并重写其构造方法。另一种方法是创建另一种方法是创建Frame类的一个对类的一个对象:象:Frame win=new Frame(简单窗体简单窗体);现在学习的是第53页,共70页(3)Frame 类的方法类的方法 方法名方法名功能功能Frame();Frame();创创建无建无标题标题的窗体的窗体Frame(String s);Frame(String s);创创建建标题为标题为s s的窗体的

37、窗体setMenuBar(MenuBar mb);setMenuBar(MenuBar mb);设设置菜置菜单单dispose();dispose();关关闭闭窗体,窗体,释释放占用放占用资资源源setVisible(bolean b);setVisible(bolean b);设设置窗体的可置窗体的可见见性性setSize(int width,int setSize(int width,int height);height);设设置窗体的大小置窗体的大小 Validate();Validate();使窗体中的使窗体中的组组件能件能显显示出来示出来setTitle(String title);

38、setTitle(String title);设设置置标题标题内容内容getTitle();getTitle();获获取取标题标题内容内容现在学习的是第54页,共70页一、选择组件一、选择组件复选框(Checkbox)Checkbox(Stringlabel):使用指定标签创建一个复选框。Checkbox(Stringlabel,booleanstate):使用指定标签创建一个复选框,并将它设置为指定状态。Checkbox(Stringlabel,CheckboxGroupgroup,booleanstate):使用指定标签构造一个Checkbox,并将它设置为指定状态,使它处于指定复选框组中

39、。4.5.2 选择组件选择组件现在学习的是第55页,共70页单选按钮组(单选按钮组(CheckboxGroup)提供了将多个复选框作为互斥的一个集合的方法,在任何时刻,这个集合中只有一个复选框的值为true。CheckboxGroup():创建CheckboxGroup的一个新实例。例如,以下的三个Checkbox都被指定加入cbg单选按钮组中。现在学习的是第56页,共70页CheckboxGroupcbg=newCheckboxGroup();Checkboxone=newCheckbox(“one”,true,cbg);Checkboxtwo=newCheckbox(“two”,false

40、,cbg);Checkboxthree=newCheckbox(“three”,false,cbg);现在学习的是第57页,共70页下拉列表(下拉列表(Choice)下拉列表每次只能选取其中的一项例如:Choicec=newChoice();c.add(“First”);c.add(“Second”);c.add(“Third”);现在学习的是第58页,共70页滚动列表(滚动列表(List)有多个文本选项,可以同时选择多项。List(introws,booleanmultipleMode)创建一个初始化为显示指定行数的新滚动列表,同时指出是否可以同时选择多项。例如:Listlst=newLis

41、t(3,false);lst.add(“One”);lst.add(“Two”);lst.add(“Three”);现在学习的是第59页,共70页选择事件(选择事件(ItemEvent)所有选择组件都有一个共同的事件类,引发选择事件的动作为:改变复选框对象的状态。改变下拉列表对象的状态。改变滚动列表的状态。使用ItemListener监听,该接口中只有一个方法:itemStateChanged(ItemEvente)现在学习的是第60页,共70页ItemEvent的主要方法的主要方法getItem():返回受事件影响的项。getStateChange():返回状态更改的类型(已选定或已取消选定

42、)。ItemEvent.SELECTED:代表选项被选中Item.DESELECTED:代表选项未选中例:ChoiceDemo.java现在学习的是第61页,共70页二、菜单组件二、菜单组件不能将菜单组件直接添加到一般的容器中不能使用布局管理器对它们进行布局AWT提供的菜单机制是这样的:一个容器包含一个菜单条,一个菜单条中包含多个菜单,一个菜单中包含多个菜单或菜单项和菜单相关的组件有四个:MenuBar,Menu,MenuItem,CheckboxMenuItem.4.5.3 菜单和对话框菜单和对话框现在学习的是第62页,共70页菜单条(菜单条(MenuBar)一个菜单条组件是一个水平容器,并

43、作为所有菜单树的根。一个窗体中只可以显示一个菜单条。菜单条不能注册任何监听者。例如:Framefr=newFrame();MenuBarmb=newMenuBar();f.setMenuBar(mb)现在学习的是第63页,共70页菜单(菜单(Menu)菜单组件提供了一个基本的下拉式菜单,它可以加入到一个菜单条或者另一个菜单中。例如:MenuBarmb=newMenuBar();Menumu1=newMenu(“File”);Menumu2=newMenu(“Edit”);mb.add(mu1);mb.add(mu2);f.setMenuBar(mb);现在学习的是第64页,共70页菜单项(菜单

44、项(MenuItem)菜单项组件通常被加入到菜单中,以构成一个完整的菜单。通常,将一个ActionListener注册到一个菜单项对象中,接收和处理选中菜单项的事件。例如:Menumu=newMenu(“File”);MenuItemmi1=newMenuItem(“New”);MenuItemmi2=newMenuItem(“Load”);mu.add(mi1);mu.add(mi2);现在学习的是第65页,共70页复选菜单项(复选菜单项(CheckboxMenuItem)是一个可复选的菜单项,在菜单上有选项“开/关”。应当使用ItemListener接口来监听该菜单项,当复选菜单项的状态发

45、生改变时,就会调用itemStateChanged()方法。例如:MenuDemo.java现在学习的是第66页,共70页三、对话框组件(三、对话框组件(Dialog)是一个有边框、有标题的容器,必须与一个窗体相关联。一般用于从用户处获得某种形式的输入。可以是无模式的(默认情况下)或有模式的。一个有模式的对话框将阻断输入到应用程序中其他所有顶层窗口的内容。现在学习的是第67页,共70页对话框的构造方法对话框的构造方法Dialog(Frameowner):构造无模式的对话框,带有空标题和指定的所有者框架。Dialog(Frameowner,booleanmodal):构造对话框,带有空标题、指定的所有者框架和模式。Dialog(Frameowner,Stringtitle,booleanmodal):构造一个初始时不可见的对话框,带有指定的所有者框架、标题和模式。现在学习的是第68页,共70页对话框的举例对话框的举例DiagDemo.java现在学习的是第69页,共70页本章结束本章结束!现在学习的是第70页,共70页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁