Java面向对象程序设计案例教程(王贺) 第七章习题答案[5页]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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应用程序的网上发布的
youtManager本身不是接口
C.布局管理器是用来管理构件放置在容器中的位置和大小的
D.以上说法都不对
(4)JTextField类提供的GUI功能是(A)
A.文本区域 B.按钮 C.文本字段 D.菜单
(5)将GUI窗口划分为东、西、南、北、中五个部分的布局管理器是(D)
A.FlowLayout B.GridLayout C. BoxLayout D. 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
package com.zhouzhou;
import java.awt.*;
import javax.swing.*;
public class Demo11 extends JFrame {
// 定义组件
JPanel jp1, jp2, jp3;
JLabel jlb1, jlb2;
JButton jb1, jb2;
JTextField jtf1;
JPasswordField jpf1;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo11 d1 = new Demo11();
}
// 构造函数
public Demo11() {
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jlb1 = new JLabel("用户名");
jlb2 = new JLabel("密码");
jb1 = new JButton("登录");
jb2 = new JButton("取消");
jtf1 = new JTextField(10);
jpf1 = new JPasswordField(10);// 设置布局管理(上面忘记:extends JFrame,这里出错了) this.setLayout(new GridLayout(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);
this.add(jp3);
this.setSize(250, 150);
this.setTitle("登录");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
(2)制作如图7-21所示的选择界面。

图7-21
package com.zhouzhou;
import java.awt.*;
import javax.swing.*;
public class Demo12 extends JFrame {
// 定义组件
JPanel jp1, jp2, jp3;
JLabel jlb1, jlb2;
JCheckBox jcb1, jcb2, jcb3;
JRadioButton jrb1, jrb2;
JButton jb1, jb2;
// 单选设置
ButtonGroup bg, bg2;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo12 d2 = new Demo12();
}
// 构造函数
public Demo12() {
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jlb1 = new JLabel("你喜欢的运动");
jlb2 = new JLabel("你的性别");
jcb1 = new JCheckBox("足球");
jcb2 = new JCheckBox("篮球");
jcb3 = new JCheckBox("网球");
// 下面可以设置单选
// ButtonGroup bg2=new ButtonGroup();
// bg2.add(jcb1);
// bg2.add(jcb2);
// bg2.add(jcb2);
jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
// 一定要把jrb1,jrb2放入到一个ButtonGroup里面 ButtonGroup bg = new ButtonGroup();
bg.add(jrb1);
bg.add(jrb2);
jb1 = new JButton("注册用户");
jb2 = new JButton("取消用户");
this.setLayout(new GridLayout(3, 1));
jp1.add(jlb1);
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3);
jp2.add(jlb2);
jp2.add(jrb1);
jp2.add(jrb2);
jp3.add(jb1);
jp3.add(jb2);
// 加入到JFrame
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.setSize(300, 200);
this.setTitle("用户注册界面");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}。

相关文档
最新文档