您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > Java程序设计实用教程_胡伏湘_清华大学006习题答案
1《Java程序设计精典教程》习题答案编著:胡伏湘,雷军环清华大学出版社第6章习题解答一、简答题1.说明文本框和标签之间的区别?答:文本框定义了一个单行条形文本区,可以输出任何基于文本的信息,也可以接受用户的输入,并有事件响应。标签可以显示一行静态的文本,它只起信息说明作用,不接受用户的输入,无事件响应。2.试列举Java中常用的基本控制组件。如果有二到三种取值可能,采用哪种组件合适?如果取值的可能大于5种,采用哪种组件合适?答:基本控制组件是图形用户界面的最小单位之一,它里面不再包含其他成分。基本控制组件的作用是完成与用户的一次交互。目前常用的基本控制组件有:标签(Label)、文本编辑区(TextField、TextArea)、按钮(Button)、复选框(Checkbox)、单选按钮(CheckboxGroup、Checkbox)、下拉列表(List或Choice)。如果这两到三种取值是互斥的话,采用单选按钮表示比较合适,否则采用复选按钮表示;如果5种以上的取值只能多选一的话,采用Choice下拉列表,否则采用List下拉列表。3.什么是选择事件?可能产生选择事件的GUI组件有哪些?答:选择事件是当选择项的选中状态发生变化时所引起的事件。可能产生选择事件的GUI组件有下拉列表类(Choice)、列表类(List)复选按钮类(CheckBox)、检测盒菜单项(CheckboxMenuItem)4.设计一个菜单的步骤是什么?答:设计菜单的步骤是:用MenuBar构造函数构造菜单栏对象。用Menu构造函数构造菜单对象。用MenuItem构造函数构造菜单项对象。用Menu类的add方法将菜单项加入菜单中。用MenuBar类的add方法将菜单加菜单栏中。用Frame类的setMenuBar方法将菜单栏加入窗口中。5.有模式的对话框最突出的特点是什么?如果一个对话框的目的在于警告或提醒用户(例如删除数据库记录的确认),这个对话框应该是有模式的还是无模式的?答:有模式对话框是指打开后必须作出响应的对话框。如果一个对话框的目的在于警告或提醒用户,应该为有模式的对话框。6.Swing组件与AWT组件的区别是什么?答:AWT组件是JDK1.0和1.1平台用于开发GUI的工具,尽管Java2平台仍然支持2AWT组件,但是,使用Swing组件来开发GUI已经成为一种发展趋势。为了标识Swing组件,Swing组件的在其名称前冠以J字母,例如,在AWT中的Button类,在Swing中为JButton。另外,AWT存在于java.awt包中,Swing组件存在于javax.swing包中。Swing组件与AWT组件的最大不同是:Swing组件完全由Java语言实现,功能更强大,而AWT而不是。Swing组件还提供了AWT组件无法实现的功能:Swing按钮类和标签类除了显示文本标题,还可以显示图形标题Swing容器可以加边框Swing组件可以自动适应操作系统的外观,而AWT组件总是保持相同的外观Swing组件可以设计成圆形,而不一定是矩形通过Swing组件的方法改变其外观和形为不能在Swing的顶层容器(如JApplet、JFrame)直接加入组件,而要先获得容器,再在容器中加入组件。二、编程题1.如图6-17所示。标签1的字号比文本框的字号大,当单击按钮时若输入文框中的数正确,则标签2文本显示正确,否则显示不正确。图6-17importjava.awt.*;importjava.awt.event.*;publicclassprogram1extendsFrameimplementsActionListener{Labellb1=newLabel(6+9=);Labellb2=newLabel();TextFieldtf=newTextField(3);Buttonbt=newButton(OK);publicprogram1(){lb1.setFont(newFont(Arial,Font.PLAIN,24));setLayout(newFlowLayout());add(lb1);add(tf);add(lb2);add(bt);bt.addActionListener(this);6+9=15正确OK标签1标签2文本框3setSize(150,200);setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==bt){Stringstr=tf.getText();if(str.equals(15))lb2.setText(正确);elselb2.setText(不正确);}}publicstaticvoidmain(Stringargs[]){newprogram1();}}本程序的运行结果如图6-18、6-19所示。图6-18图6-192.编写代码,创建一个JFrame窗口,为其构建两个单选按钮,程序运行的初始界面如图6-20所示。当用户单击“禁用”按钮时,显示图6-21所示的界面,单击“启用”按钮时,显示图6-22所示的界面。图6-20图6-21图6-224参考代码如下:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassXT006202extendsJFrameimplementsActionListener{JRadioButtonrad1,rad2;ButtonGrouprbgrp=newButtonGroup();publicXT006202(){setTitle(单选按钮);JPanelcpane=(JPanel)getContentPane();cpane.setLayout(newGridLayout());rad1=newJRadioButton(启用);rad1.addActionListener(this);rad1.setSelected(true);rad1.setEnabled(false);rad2=newJRadioButton(禁用);rad2.addActionListener(this);rad2.setSelected(false);cpane.add(rad1);cpane.add(rad2);rbgrp.add(rad1);rbgrp.add(rad2);radadapterradapp=newradadapter();addWindowListener(radapp);}classradadapterextendsWindowAdapter{publicvoidwindowClosing(WindowEvente){System.exit(0);}}publicvoidactionPerformed(ActionEvente){if(e.getSource()==rad1){setTitle(启用第一个单选的按钮);rad1.setEnabled(false);rad2.setEnabled(true);}elseif(e.getSource()==rad2){setTitle(启用第二个单选按钮);rad1.setEnabled(true);5rad2.setEnabled(false);}}//endactionPerformed(ActionEvente)publicstaticvoidmain(Stringargs[]){XT006202radb=newXT006202();radb.setSize(200,100);radb.setVisible(true);}}3.创建一个菜单程序。添加一个菜单:文件。在“文件”下添加三个菜单选项:“功能1”、“功能2”和“退出”,“功能2”和“退出”两项之间用分隔线分开。当用户点击菜单项时,在窗口的标题栏显示相应的命令文本,如图6-23所示。(通过查阅JDK文档,思考如何用Swing创建此菜单程序)图6-23importjava.awt.*;importjava.awt.event.*;publicclassXT006203extendsFrameimplementsActionListener{MenuBarmb=newMenuBar();Menumu=newMenu(文件);MenuItemmt1=newMenuItem(功能1);MenuItemmt2=newMenuItem(功能2);MenuItemmt3=newMenuItem(退出);publicXT006203(){mu.add(mt1);mu.add(mt2);mu.addSeparator();mu.add(mt3);mb.add(mu);//将菜单项注册给事件监听者mt1.addActionListener(this);mt2.addActionListener(this);6mt3.addActionListener(this);setMenuBar(mb);setTitle(创建菜单);setSize(200,200);setVisible(true);}publicvoidactionPerformed(ActionEvente){MenuItemmt=(MenuItem)e.getSource();setTitle(mt.getActionCommand());}publicstaticvoidmain(Stringargs[]){newXT006203();}}
本文标题:Java程序设计实用教程_胡伏湘_清华大学006习题答案
链接地址:https://www.777doc.com/doc-2878803 .html