Java面向对象程序设计案例教程(王贺) 第七章习题答案[5页] .pdf
1.选择题
(1)下列说法中错误的是()
A.对Swing构件只能设置一个边框
B.Swing构件能建立组合边框或自己设计边框
C.在Swing构件中,按钮可以使用图标修饰
D.Swing构件支持键盘代替鼠标的操作
(2)向容器添加新构件的方法是(A)
A.add()B.insert()C.fill()D.set()
(3)关于布局管理器LayoutManager,下列说法中正确的是(D)
A.布局管理器是用来部署Java应用程序的网上发布的
B.LayoutManager本身不是接口
C.布局管理器是用来管理构件放置在容器中的位置和大小的
D.以上说法都不对
(4)JTextField类提供的GUI功能是(A)
A.文本区域B.按钮C.文本字段D.菜单
(5)将GUI窗口划分为东、西、南、北、中五个部分的布局管理器是(D)
A.FlowLayoutB.GridLayoutC.BoxLayoutD.BorderLayout
(6)关于Panel,下列说法中错误的是(D)
A.Panel可以作为最外层的容器单独存在
B.Panel必须作为一个构件放置在其他容器中
C.Panel可以是透明的,没有边框和标题
D.Panel是一种构件,也是一种容器
2.填空题
(1)(BorderLayout)包括5个明显的区域:东、南、西、北、中。
(2)Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和(Swing)开发包
来体现。
(3)可以使用setLoaction()、setSize()或(setBounds())中的任何一种方法设置组件
的大小或位置。
(4)(GridLayout)布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
(5)框架的默认布局管理器(BorderLayout)。
3.编程题
(1)制作如图7-20所示的登录界面。
图7-20
packagecom.zhouzhou;
importjava.awt.*;
importjavax.swing.*;
publicclassDemo11extendsJFrame{
//定义组件
JPaneljp1,jp2,jp3;
JLabeljlb1,jlb2;
JButtonjb1,jb2;
JTextFieldjtf1;
JPasswordFieldjpf1;
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Demo11d1=newDemo11();
}
//构造函数
publicDemo11(){
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
jlb1=newJLabel(用户名);
jlb2=newJLabel(密码);
jb1=newJButton(登录);
jb2=newJButton(取消);
jtf1=newJTextField(10);
jpf1=newJPasswordField(10);//设置布局管理(上面忘记:extendsJFrame,这里出错了)
this.setLayout(newGridLayout(3,1));
//加入各个组件
jp1.add(jlb1);
jp1.add(jtf1);
jp2.add(jlb2);
jp2.add(jpf1);
jp3.add(jb1);
jp3.add(jb2);
//加入到JFrame
this.add(jp1);
this.add(jp2);