Java语言程序设计课后习题解答张思民第4章

上传人:s9****2 文档编号:560187546 上传时间:2023-04-12 格式:DOC 页数:18 大小:94.01KB
返回 下载 相关 举报
Java语言程序设计课后习题解答张思民第4章_第1页
第1页 / 共18页
Java语言程序设计课后习题解答张思民第4章_第2页
第2页 / 共18页
Java语言程序设计课后习题解答张思民第4章_第3页
第3页 / 共18页
Java语言程序设计课后习题解答张思民第4章_第4页
第4页 / 共18页
Java语言程序设计课后习题解答张思民第4章_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Java语言程序设计课后习题解答张思民第4章》由会员分享,可在线阅读,更多相关《Java语言程序设计课后习题解答张思民第4章(18页珍藏版)》请在金锄头文库上搜索。

1、第4章 图形用户界面设计【1】什么是图形用户界面?试列举出图形用户界面中你使用过的组件。解答:图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。(比如你用windowsXP和使用DOS操作系统的差别)。GUI是事件驱动的,也就是说,一旦用户与GUI交互,GUI组件就会生成”事件“(动作)。常见交互包括移动鼠标、单击鼠标按钮、在文字段输入、从菜单选择一个选项以及关闭一个窗口等等。 在windwosXP的GUI中,使用过窗口,菜单条,按钮等【2】简述

2、Java的事件处理机制。什么是事件源?什么是监听者?在Java的图形用户界面中,谁可以充当事件源?谁可以充当监听者?解答:java的事件处理机制就是,事件源允许监听器注册的事件对象,在事件发生的时候想相关的注册对象发送一个,事件对象,监听器便根据相关的信息来选择运行相关的代码。 事件源:英文名为event source,是指事件发生的地方,也就是引起事件的组件,按钮Button,文本组件等都可以当做事件源。比如说,你点击一个button,那么button就是事件源,要想使button对某些事件进行响应,你就需要注册特定的监听者。(具体请看第5章的事件处理) 监听者:英文名为event hand

3、ler事件处理者,又叫监听器。具体的对监听的事件类,当它监听到event object产生的时候,它就调用相应的方法,进行处理。 在java中,AWT组件和swing组件都可以当做事件源;java.awt.event.*,里面各种类都可以为监听者。【3】动作事件的事件源可以有哪些?如何响应动作事件?解答:动作事件的事件源可以有:Button,JButton,MenuItem,等。响应动作事件的过程一般为:声明和实例化事件源,如:Button btn=new Button(“确定”);注册监听:btn.addActionListener(this); /this指明是在当前类实现处理实现接口:p

4、ublic void actionPerformed(ActionEvent e)/具体代码;【4】说明文本框与标签之间的区别。解答:文本框(TextField)和标签(Label)都可以进行文字表达。TextField允许用户编辑单行文本的文本组件,他可以添加相应的监听事件;而Label 对象是一个可在容器中放置文本的组件。一个标签只显示一行只读文本。文本可由应用程序更改,但是用户不能直接对其进行编辑。【5】编写程序包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。解答:Test4_5.javaimport java.awt.*;import java.

5、awt.event.*;public class Test4_5 extends Frame implements ActionListenerLabel lb;TextField txtFl;Button btn;public Test4_5()/界面布局和初始化super(文本框和标签的练习);setSize(260,200);setVisible(true);setLayout(new FlowLayout();lb=newLabel( );/用空格占位,以防止label个别字符出现问题txtFl=new TextField(20); btn=new Button(显示字符); add(

6、txtFl);add(btn); add(lb); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we)System.exit(0);); validate(); /增加监听 btn.addActionListener(this);public void actionPerformed(ActionEvent e) String strtmp=txtFl.getText(); lb.setText(strtmp); lb.setForeground(Color.red);public st

7、atic void main(String args) new Test4_5();【6】设计一个加法计算器,如图4.25所示(课本P124),在文本框中输入两个整数,单击“”按钮时,在第三个文本框中显示这两个数据的和。解答:Test4_6.javaimport java.awt.*;import java.awt.event.*;class Test4_6 extends Frame implements ActionListener TextField txtFl1,txtFl2,txtFl3;Button btn;public Test4_6()super(简单加法运算器);setSiz

8、e(300,200);setVisible(true);setLayout(new FlowLayout();txtFl1=new TextField(5);txtFl2=new TextField(5);txtFl3=new TextField(10);btn=new Button(=); add(new Label(请输入整数);add(txtFl1);add(new Label(+);add(txtFl2);add(btn);add(txtFl3);addWindowListener(new WindowAdapter() public void windowClosing(Window

9、Event we)System.exit(0););validate();btn.addActionListener(this); public void actionPerformed(ActionEvent e) int add=Integer.parseInt(txtFl1.getText() +Integer.valueOf(txtFl2.getText().intValue();/两种字符串转整形的方法 txtFl3.setText(String.valueOf(add); public static void main(String args) new Test4_6();【7】说

10、明文本框与文本区之间的区别,它们都可以引发什么事件?如何响应此事件?解答:TextField 对象是允许编辑单行文本的文本组件。TextArea 对象是显示文本的多行区域。可以将它设置为允许编辑或只读TextFiled和TextArea可以引用KeyEvent,ActionEvent,分别用使用组件的 addKeyListener 方法注册和addActionListener以接收事件。【8】设计一个计算器,其中要使用按钮、文本框、布局管理和标签等构件,能实现加、减、乘、除运算。解答:Text4_8.javaimport java.awt.*;import java.awt.event.*;p

11、ublic class Test4_8 extends Frame implements ActionListener TextField txtFl1,txtFl2,txtFl3; Button btn1,btn2,btn3,btn4,btn5;public Test4_8() super(简单的四则运算器); setSize(300,400); setVisible(true); setLayout(new GridLayout(3,1); txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(5);

12、btn1=new Button(+); btn2=new Button(-); btn3=new Button(*); btn4=new Button(); Panel p1=new Panel();p1.add(txtFl1);p1.add(txtFl2);p1.add(new Label(=);p1.add(txtFl3); Panel p2=new Panel();p2.add(btn1);p2.add(btn2);p2.add(btn3);p2.add(btn4); add(new Label(请在下面输入运算数并运算规则进行运算:); add(p1); add(p2); addWin

13、dowListener(new WindowAdapter() public void windowClosing(WindowEvent we)System.exit(0););validate(); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); public void actionPerformed(ActionEvent e) float num1=Float.valueOf(txtFl1.getText().floatValue(); float num2=Float.valueOf(txtFl2.getText().floatValue();/两种字符串转整形的方法 float rs=0; if (e.getSource()=btn1) rs=num1+num2; txtFl3.setText(String.valueOf(rs); else if (e.getSource()=btn2) rs=num1-num2; txtFl3.setText(String.v

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

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号