欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Java语言实用教程第8章.ppt

    • 资源ID:6510186       资源大小:484KB        全文页数:76页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java语言实用教程第8章.ppt

    第8章 图形用户界面,8.1 组件8.2 组件布局管理8.3 事件处理方法习题,GUI(graphic user interface)的中文意思是图形用户界面。在GUI中,用户可以看到什么就操作什么,取代了以往字符方式下知道是什么后才能操作的方式,极大地方便了用户对计算机的操作,GUI现在已经成为当前的编程标准。Java语言可以编写出良好的图形用户界面,因为它提供了图形用户界面所需要的基本组件,如窗口、按钮、文本框、选择框、滚动条等,Java类库java.awt包含了所有这些基本组件。本章的任务是了解图形用户界面基本组件的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。,组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel、Frame等。组件通过容器的add方法加入到容器中。,8.1 组件,1.创建标签标签(Label)的功能是显示单行的字符串,可在屏幕上显示一些提示性、说明性的文字。例8.1 创建标签,结果如图8.1所示。import java.awt.*;import java.applet.Applet;public class Label1 extends Applet public void init()Label label1=new Label();Label label2=new Label(欢迎你使用标签!);Label label3=new Label(这是一个写标签的例子,Label.RIGHT);add(label1);add(label2);,8.1.1 标签,add(label3);图 8.1,2.标签的构造方法(1)Label()该方法用来创建一个没有显示内容的对象。(2)Label(String label)该方法用来创建一个显示内容为label的对象。(3)Label(String label,int alignment)该方法除了用来创建一个显示内容为label的对象外,还设置了Label的对齐方式。Label的对齐方式有3种,分别用Label类的3个常量LEFT、CENTER和RIGHT来表示左对齐、居中对齐和右对齐。,3.标签的常用方法(1)public int getAlignment()返回当前的对齐方式。(2)public String getText()返回当前显示的字符串。(3)public void setAlignment(int alignment)设置对齐方式。(4)public void setText(String label)设置显示的字符串。,Java提供了标准按钮(Button),可带有文字标题。1.创建按钮例8.2 创建按钮,结果如图8.2所示。import java.awt.*;import java.applet.Applet public class Button1 extends Applet Button button=new Button(确定);public void init()add(button);,8.1.2 按钮,图 8.2在例8.2中,button是作为主类的一个对象成员创建的,因此,主类的所有方法都可以使用它。参数“确定”指定了按钮上显示的标题。,2.按钮的构造方法(1)Button()创建一个没有标题的按钮。(2)Button(String label)创建一个有显示标题的按钮。3.按钮的常用方法(1)public String getLabel()返回按钮的显示标题。(2)public void setLabel(String label)设置按钮上的显示标题。,选项框(Choice)又称下拉式列表。这种选项框一次只能显示一个选项,要改变被选中的选项,可以单击下拉箭头,从选项框中选择一个选项。,8.1.3 选项框,1.创建选项框例8.3 创建选项框,结果如图8.3所示。import java.awt.*;import java.applet.Applet;public class Choice1 extends Applet public void init()Label label=new Label(选项框的例子);Choice c=new Choice();c.addItem(北 京);c.addItem(上 海);c.addItem(天 津);c.addItem(南 京);c.addItem(郑 州);c.addItem(武 汉);add(c);add(label);,图 8.3,2.选项框的常用方法(1)public void addItem(String item)向选项框中加入选项item。(2)public int countItem()返回选项框中的选项个数。(3)public String getItem(int index)返回指定下标值的某个选项。(4)public int getSelectIndex()返回被选中的选项的下标值。(5)public String getSelectItem()返回被选中的选项。(6)public void select(int pos)选择指定下标值的选项。,(7)public void select(String str)选择指定的选项。,复选框(Checkbox)可以让用户作出多项选择。选项按钮(CheckboxGroup)又称单选框,是一组按钮,用户只能选择其中的一个。,8.1.4 复选框和选项按钮,1.创建复选框例8.4 创建复选框,结果如图8.4所示。图 8.4,例8.4 创建复选框,结果如图8.4所示。import java.awt.*;import java.applet.Applet;public class Check1 extends Applet final static int CITY_NUM=6;String city=北京,上海,天津,南京,郑州,武汉;Checkbox c=new Checkbox6;Label label=new Label(这是一个复选框的例子);public void init()add(new Label(请选择中国的大城市:);for(int i=0;iCITY_NUM;i+)ci=new Checkbox(cityi);add(ci);add(label);,例8.5 创建选项按钮,结果如图8.5所示。import java.awt.*;import java.applet.Applet;public class Check2 extends Applet final static int CITY_NUM=6;String city=北京,上海,天津,南京,郑州,武汉;Checkbox radio=new Checkbox6;Label label=new Label(这是一个选项按钮的例子);public void init()CheckboxGroup c=new CheckboxGroup();add(new Label(请选择中国最大的城市:);for(int i=0;iCITY_NUM;i+)radioi=new Checkbox(cityi,c,false);add(radioi);add(label);,图 8.5,2.复选框和选项按钮的构造方法(1)Checkbox()创建一个没有标签的复选框。(2)Checkbox(北京)创建有标签的复选框。(3)CheckboxGroup()创建选项按钮。要生成选项按钮,必须先生成一个类CheckboxGroup的对象,例如:checkboxGroup1=new CheckboxGroup();然后再使用下面的语句:checkbox1=new Checkbox(Radio,checkboxGroup1,false);其中第一个参数是选项按钮的标签,第二个参数是选项按钮对象,第三个参数表示该选项按钮创建时,是否被选中(true表示选中)。,3.复选框和选项按钮的常用方法(1)public CheckboxGroup getCheckboxGroup()返回选项按钮所属的复选框组。(2)public String getLabel()返回复选框或选项按钮的标签。(3)public Boolean getState()返回复选框或选项按钮是否被选中。(4)public void setCheckboxGroup(CheckboxGroup g)设置选项按钮所属复选框组。(5)public void setLabel(String label)设置复选框或选项按钮的标签。(6)public void setState(Boolean state)设置复选框或选项按钮被选中与否。,列表框(List)可以使用户选择多个选项。列表框的所有选项都是可见的,如果选项数目超出了列表框可见区的范围,则列表框右边会出现一个滚动条。,8.1.5 列表框,例8.6 创建列表框、添加选项,结果如图8.6所示。图 8.6import java.awt.*;import java.applet.Applet;public class List1 extends Applet List list1=new List();List list2=new List(6,true);,public void init()add(new Label(这是一个列表框的例子);list1.add(长江);list1.add(黄河);list1.add(淮河);add(list1);list2.add(北京大学);list2.add(清华大学);list2.add(吉林大学);list2.add(复旦大学);list2.add(南开大学);list2.add(天津大学);list2.add(南京大学);add(list2);,说明:构造方法中的第一个参数指定了在列表框里显示选项的个数。第二个参数若为false,表示这个列表框是单选的,若为true,则表示是多选的。无参构造方法将创建一个默认大小的列表框。,文本框(TextField)用来接受用户键盘输入的单行文本信息。1.创建文本框例8.7 创建两个不同的文本框,结果如图8.7所示。import java.awt.*;import java.applet.Applet;public class Text1 extends Applet public void init()add(new Label(用户名);add(new TextField(请输入用户名,20);add(new Label(口令);add(new TextField(20);,8.1.6 文本框,图 8.7,2.文本框的构造方法(1)TextField()创建一个默认长度的文本框。(2)TextField(int columns)创建一个指定长度的文本框。(3)TextField(String text)创建一个带有初始文本内容的文本框。(4)TextField(String text,int columns)创建一个带有初始文本内容并具有指定长度的文本框。,3.文本框的常用方法(1)public void setEchoChar(char c)设定用户输入字符的回显字符,例如输入口令时可设定回显字符“*”来屏蔽。(2)public void setText(String t)设定文本框的文本内容。,与文本框只显示一行不同,文本区(TextArea)可以显示大段的文本。1.创建文本区例8.8 创建两个不同的文本区,结果如图8.8所示。import java.awt.*;import java.applet.Applet;public class TextAreaDemo extends Applet public void init()TextArea ta1=new TextArea(这里是文本区1,8,20);add(ta1);ta1.setEditable(false);TextArea ta2=new TextArea(这里是文本区2,8,20);add(ta2);,8.1.7 文本区,ta2.setEditable(true);图 8.8,2.文本区的构造方法(1)TextArea()创建一个默认大小的文本区。(2)TextArea(int rows,int columns)创建一个指定行和列数的文本区。(3)TextArea(String text)创建一个带有初始文本内容的文本区。(4)TextArea(String text,int rows,int columns)创建一个带有初始文本内容并具有指定行和列数的文本区。(5)TextArea(String text,int rows,int columns,int scrollbars)在(4)的基础上添加滚动条。,3.文本区的常用方法(1)public void append(String str)在文本区尾部添加文本。(2)public void insert(String str,int pos)在文本区指定位置插入文本。(3)public void setText(String t)设定文本区内容。(4)public int getRows()返回文本区的行数。(5)public void setRows(int rows)设定文本区的行数。(6)public int getColumns()返回文本区的列数。(7)public void setColumns(int columns)设定文本区的列数。,(8)public void setEditable(boolean b)设定文本区的可编辑状态。从上面创建组件的例子可以知道,要创建组件先要创建组件对象,然后添加对象到容器中。,在上面的例子中,组件的位置由容器的默认布局管理器摆放,这样当组件较多时窗口就会显得凌乱。如何控制组件的摆放位置呢?本节介绍的布局管理器就是解决这个问题的。,8.2 组件布局管理,顺序布局(FlowLayout)是最基本的一种布局,是面板(Panel)及其子类Applet的默认布局方式,前面介绍的例子都使用了默认的顺序布局。Panel是一个容器,可以容纳多个组件,作为它的子类,Applet也具有容纳组件的能力。顺序布局指的是把组件一个接一个地从左到右顺序排列,一行排满后就转到下一行继续排列,直到把所有组件都显示出来。它将根据容器的大小随时调整它里面的组件的大小,包括高度和宽度,这个管理器不会约束组件的大小,而是允许它们获得自己的最佳大小。,8.2.1 顺序布局,边界布局(BorderLayout)把容器(这里是Applet)分为5个区:北区、南区、东区、西区和中区。这几个区的分布规律是“上北下南,左西右东”,与地图的方位相同。组件可以指定自己放在哪个区内,因为只有5个区,所以最多只能容纳5个组件,否则要采取其他布局方式。,8.2.2 边界布局,例8.9 使用边界布局添加5个组件,结果如图8.9所示。import java.awt.*;import java.applet.Applet;public class Border1 extends Applet Button bN,bS,bW,bE,bC;public void init()setLayout(new BorderLayout();bN=new Button(北);bS=new Button(南);bE=new Button(东);bW=new Button(西);bC=new Button(中);add(North,bN);add(South,bS);add(East,bE);add(West,bW);add(Center,bC);,图 8.9说明:在add方法中,第一个参数表示组件的摆放位置,必须从North、South、East、West、Center中选择一个。第二个参数是组件对象名。,卡片布局(CardLayout)将组件像卡片一样叠放起来,每次只显示一个。因此需要使用某种方法翻阅这些卡片,参见例8.10。,8.2.3 卡片布局,例8.10 组件的卡片布局,如图8.10所示。import java.awt.*;import java.applet.Applet;public class Card1 extends Applet CardLayout card=new CardLayout();public void init()setLayout(card);setFont(new Font(Arial,Font.PLAIN,24);for(int i=1;i=5;i+)add(String.valueOf(i),new Button(卡片号为:+i);card.show(this,String.valueOf(2);,图 8.10,使用卡片布局时,先要创建一个卡片布局管理器对象,例如程序中创建的card对象。然后用setLayout(card)设定容器的布局方式。由于布局管理器将组件叠放起来时要确定组件的编号,这可通过add(字符串编号,组件)方法来加入组件。显示一个组件时要通过布局管理器的show方法,它需要两个参数:容器对象名和组件的字符串编号。,网格布局(GridLayout)把容器(这里是Applet)区域分成若干个网格,每个网格可以放置一个组件,这种布局方式对数量众多的组件很合适。创建网格布局管理器时,可以给出网格的行数和列数。,8.2.4 网格布局,例8.11 组件的网格布局如图8.11所示。import java.awt.*;import java.applet.Applet;public class Grid1 extends Applet Button b1,b2,b3,b4,b5,b6;public void init()setLayout(new GridLayout(3,3);/设置为3行3列共9个网格 b1=new Button(按钮1);b2=new Button(按钮2);b3=new Button(按钮3);b4=new Button(按钮4);b5=new Button(按钮5);b6=new Button(按钮6);add(new Label(label1);add(b1);add(b2);add(b3);add(new Label();add(b4);add(b5);add(b6);add(new Label(label2);,图 8.11网格数可以比组件多,但不能少。如果希望某个网格为空白,可以为它加上一个空标签。在网格布局中也可以添加间距,如setLayout(new GridLayout(3,3,10,10)将网格之间设为10个点。,面板(Panel)是一个无边框的容器,可以包容其他组件或另一个面板。使用面板的目的是为了分层次、分区域管理各种组件,通过各个面板的布局管理器对本身的组件进行管理,互不妨碍,这样就可以使布局更加合理和美观。在前面的例子里没有使用面板,Applet本身就是一个特殊的面板,现在来看看如何在Applet中添加面板进行组件布局。,8.2.5 面板的使用,例8.12 用面板控制组件布局,结果如图8.12所示。import java.awt.*;import java.applet.Applet;public class Panel1 extends Applet public void init()setLayout(new BorderLayout();setForeground(Color.black);setFont(new Font(Arial,Font.PLAIN,20);add(North,new Label(我在 Applet 中,Label.CENTER);Panel panel1=new Panel();add(West,panel1);panel1.setBackground(Color.blue);panel1.setForeground(Color.red);panel1.setLayout(new BorderLayout();panel1.add(East,new Button(东);panel1.add(West,new Button(西);panel1.add(Center,new Label(我在 Panel1 中);,Panel panel2=new Panel();add(East,panel2);panel2.setBackground(Color.green);panel2.setLayout(new BorderLayout();panel2.add(North,new Label(我在 Panel2 中);panel2.add(South,new Button(我在 Panel2 中);图 8.12,Java允许使用手工布局放置各个组件,这种方法比较灵活。例8.13 手工放置组件,结果如图8.13所示。import java.awt.*;import java.applet.Applet;public class No1 extends Applet Choice c=new Choice();Button b1=new Button(Button1);Button b2=new Button(Button2);Button b3=new Button(Button3);public void init()setLayout(null);,8.2.6 手工布局,c.addItem(Item1);c.addItem(Item2);c.addItem(Item3);add(c);c.setBounds(80,80,100,20);add(b1);b1.setBounds(20,20,50,30);add(b2);b2.setBounds(100,20,50,30);add(b3);b3.setBounds(200,60,50,50);图 8.13,该程序先通过setLayout(null)语句关闭了默认的布局管理器。然后使用setBounds方法设置组件的摆放位置和大小。setBounds方法有4个参数,x和y指定了组件的水平和纵向位置坐标;width指定了组件的宽度;height指定了组件的高度。例如b2.setBounds(100,20,50,30)将按钮b2放在(120,20)位置,宽度和高度分别是50和30。,在Java中,程序和用户的交互是通过响应各种事件来实现的。每当一个事件发生,Java虚拟机就会将事件的消息传递给程序,由程序中的事件处理方法对事件进行处理。如果希望能对各种事件作出反应,要编写一个或多个事件处理方法,当程序监听到事件发生后,就可以调用事件处理方法来处理了。Java通过委托型事件处理机制解决如何对事件作出响应的问题。,8.3 事件处理方法 8.3.1 事件与事件处理方法,能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。事件监听器可以是一个自定义类或其他容器,如定义的类S1、Applet、Canvas、Frame等,它们本身并没有事件处理方法,所以需要使用事件接口中的事件处理方法来创建事件处理方法。因此,事件监听器必须实现事件接口的方法。,8.3.2 Java的事件处理机制,注意,这里的事件监听器不一定是包容事件源的容器对象,只要一个对象实现了事件监听器接口就能成为事件监听器。这样处理可使程序中的事件处理代码与GUI代码分离,有利于优化程序结构。事件接口定义了抽象方法来统一处理某一类事件,事件监听器可以覆盖这些处理方法以作出响应。不同类型的事件必须由不同的事件接口处理,因此,一个事件监听器如果要处理多种事件,就必须实现多个事件接口。当事件源的事件被触发后,系统将这个事件作为参数传递给事件监听器的事件处理方法以响应处理操作。,Java将所有组件可能发生的事件进行了分类,具有共同特征的事件被抽象为一个事件类AWTEvent,其中包括ActionEvent单击事件类、MouseEvent鼠标事件类等,它们不是某个具体组件如按钮或选项框的事件,而是属于所有组件,只要该组件能产生这种事件。这种处理方式使Java加强了对事件的管理,提高了代码的重用性。,1.单击按钮事件处理 例8.14 本程序在Applet上创建两个面板,分别在面板上创建了一个按钮和一个标签。用鼠标单击按钮时,会听到一声响声,参见图8.14。图 8.14,8.3.3 事件处理实例,import java.awt.*;import java.awt.event.*;import java.applet.Applet;public class Beep extends Applet implements ActionListener/实现动作事件监听接口 public void init()add(new Label(按一下按钮可听到响声!,Label.CENTER);Button btn=new Button(按钮);add(btn);btn.addActionListener(this);/注册事件源的动作监听者 public void actionPerformed(ActionEvent e)Toolkit.getDefaultToolkit().beep();/动作事件发生时要作出的反应,从本例中可以概括出事件处理的步骤:(1)引入系统事件类包。如import java.awt.event.*。(2)在定义类的同时声明实现单击事件监听器接口。如implements ActionListener。(3)在方法中调用事件源对象的addActionListener注册事件监听器方法,给事件源对象注册事件监听器。如btn.addActionListener(this),这里this为当前类Beep。(4)实现actionPerformed事件接口方法。ActionListener接口中的方法一定要实现,即编写事件处理代码以响应事件的发生。当单击按钮时,系统将产生ActionEvent事件,动作事件监听器就调用actionPerformed方法处理这个事件。,2.选项事件处理例8.15 处理复选框和选项按钮事件,结果如图8.15所示。图 8.15,import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class ItemDemo extends Applet implements ItemListener TextArea area=new TextArea(6,30);String City=北京,上海,天津,南京,武汉;Checkbox cb=new Checkbox5;Checkbox radio=new Checkbox5;public void init()add(new Label(这是一个选项事件例子);add(area);add(new Label(请选择中国的大城市:);for(int i=0;i5;i+)cbi=new Checkbox(Cityi);add(cbi);cbi.addItemListener(this);,CheckboxGroup cbGroup=new CheckboxGroup();add(new Label(请选择中国最大的城市:);for(int i=0;i5;i+)radioi=new Checkbox(Cityi,cbGroup,false);add(radioi);radioi.addItemListener(this);public void itemStateChanged(ItemEvent e)area.append(你选择的是+e.getItem()+n);注意:要为每一个事件源进行注册。,3.文本动作事件处理例8.16介绍了在文本框输入文本后按回车键发生的情况,这种情况属于动作事件。例8.16 处理文本的动作事件,结果如图8.16所示。import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class TextDemo1 extends Applet implements ActionListener TextArea Area=new TextArea(6,40);TextField tf1=new TextField(10);TextField tf2=new TextField(10);public void init()setFont(new Font(Arial,Font.PLAIN,12);add(Area);add(new Label(用户名);add(tf1);,add(new Label(电话);add(tf2);tf1.addActionListener(this);tf2.addActionListener(this);public void actionPerformed(ActionEvent e)if(e.getSource()=tf1)Area.append(用户名:+tf1.getText()+n);else Area.append(电 话:+tf2.getText()+n);,图 8.16,4.卡片布局的事件处理例8.17 添加卡片按钮来翻看卡片组件,结果如图8.17所示。import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class CardDemo1 extends Applet implements ActionListener CardLayout card=new CardLayout();public void init()Button cb=new Button6;setLayout(card);setFont(new Font(Arial,Font.PLAIN,24);for(int i=1;i=5;i+)cbi=new Button(卡片号为:+i);add(String.valueOf(i),cbi);cbi.addActionListener(this);,card.show(this,String.valueOf(1);public void actionPerformed(ActionEvent e)card.next(this);图 8.17,现在单击卡片将会翻动了。卡片布局提供的常用方法:(1)public void first(Container parent)显示第一张卡片。(2)public void last(Container parent)显示最后一张卡片。(3)public void next(Container parent)显示下一张卡片。(4)public void previous(Container parent)显示上一张卡片。(5)public void show(Container parent,String name)显示指定的卡片。,5.实现多个事件接口如果在程序中有多个事件发生可使用多个事件接口,然后实现各自的事件处理方法。例8.18 在窗口中用鼠标拖动画线。运行结果如图8.18所示。import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class DrawLine extends Applet implements MouseListener,MouseMotionListener int x1,y1,x2,y2;public void init()addMouseListener(this);addMouseMotionListener(this);,public void paint(Graphics g)g.drawLine(x1,y1,x2,y2);public void mousePressed(MouseEvent e)/记录起点坐标 x1=e.getX();y1=e.getY();public void mouseClicked(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mouseReleased(MouseEvent e)public void mouseDragged(MouseEvent e)/记录终点坐标 x2=e.getX();y2=e.getY();repaint();public void mouseMoved(MouseEvent e),图 8.18,本程序可以用鼠标画线。首先在起点位置按下鼠标,此时将发生一个mousePressed事件,所以,程序中使用了MouseListener接口,在相应的处理方法中,将鼠标位置保存到x1和y1中。拖曳鼠标时,将连续发生mouseDragged事件,所以,程序中使用了MouseMotionListener接口,在这个事件接口的处理方法中,另一鼠标位置被保存到x2和y2,然后调用repaint方法重画直线。只要确定起点坐标x1、y1和终点坐标x2、y2,即可使用图形对象画线的方法g.drawLine(x1,y1,x2,y2)画出直线。鼠标的位置是由MouseEvent类的方法e.getX()和e.getY()得到的。这样,鼠标不断移动,直线不断被重画出来,最后放开鼠标时,直线就固定下来了。,addMouseListener(this)和addMouseMotionListener(this)语句前面没有组件标记,说明事件源为整个容器,即对所有的区域进行监控。在这个程序使用了两个接口,并实现了这两个接口中的所有方法,不管是否用得到它们。程序中是将这些用不到的方法以空方法的形式给出的,即只给出方法的声明,不添加方法体。,8-1 图形用户界面与字符界面有什么不同?8-2 图形用户界面由什么构成?分析它们的作用。8-3 编写一个Applet,添加两个标签、一个文本框、一个文本区和一个按钮。8-4 为第8-3题的Applet添加事件处理功能。要求在文本框中输入字符串,当按下回车键或单击按钮时,可将字符串显示在文本区中。8-5 编写一个Applet,添加两个标签“喜欢的城市”和“平时喜欢的活动”、一个选项框(北京、上海、武汉、南京)、一个列表框(听音乐、看电视、看电影、看小说、打球)。,习题,8-6 为第8-5题的Applet添加事件处理功能。要求在选项框或列表框选择一个选项,选择的名称分别通过两个标签显示出来。8-7 本章介绍了哪些Java布局方式?简述常用布局方式的特点。8-8 使用布局管理器在中间放一个文本区,上面放一个标签,下面位置放3个按钮。8-9 使用3个面板分别放置两个标签、两个文本框、两个按钮。8-10 编写一个模拟计算器的Applet,使用面板和网格布局,添加一个文本框,10个数字按钮(09),4个加减乘除按钮,一个等号按钮,一个清除按钮。要求将计算公式和结果显示在文本框中。,

    注意事项

    本文(Java语言实用教程第8章.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开