admin 管理员组文章数量: 887021
2024年1月13日发(作者:电商商城)
《Java基础入门》课后习题答案
第8章 GUI(图形用户界面)
一、填空题
1、在Java 中,图形用户界面简称: GUI
2、事件监听器: 负责监听事件源上发生的事件,并对各种事件做出响应处理。
3、GUI 设计提供了一些基本的图形用户接口开发工具,如 AWT: Swing 和JavaFX。
4、.如果单击 Frame窗口有上角的关闭按相能将其关闭:那么这个Frame窗口添加了: WindowListener
监听器,并实现了监听器:windowClosing(WindowEvent e) 的 方法。
5、创建下拉式菜单需要使用三个组件,分别是 : JMenuBar、JMenu、JMenuItem
二、判断题
1、容器(Container)是一个可以包含基本组件和其他容器的组件。 对
2.可以通过实现 AetionListener 接口或者继承 AconAdpter 类来实
现动作事件监听器。 错
yout 布局管理器将界面看做一系列卡片,在任何时候只有
其中一张卡片是可见的。 对
4.非模态对话框是指用户需要等到处理完对话框后才能继续与其他
窗口进行交互。 错
的默认布局管理器是 FlowLayout。 错
三、选择题
1.下面四个组件中哪一个不是 JComponent 的子类? (B)
n g C. JLabel ar
2.下面四个选项中,哪些是事件处理机制中的角色?(多选) (ABD)
A.事件 B.事件源 C.事件接口 D.事件监听器
3. ActionEvent 的对象会被传递给以下哪个事件处理器方法? (D)
ngeListener() B. addActionListener()
C. stateChanged() D. actionPerformed()
4.下面哪些是 FlowLayout 类中表示对齐方式的常量?(多选) (ABD)
C. FlowLayout. VERTICAL D. FlowLayout. RIGHT
5.下列选项中关于JavaFX,描述错误的是 (C )
是一个强大的图形和多媒体处理工具包集合
B. JavaFX 允许开发者来设计、创建、测试、调试和部署客户端程序
不能与Swing实现互操作
可以实现跨平台功能
四、简答题
1、请简述GUI 中实现事件监听的步骤:
通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的方法进行重写
创建事件源对象和事件监听器对象
调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象
2、请简述Swing 中的布局管理器有哪些。
答: Swing工具在AWT的基础上提供了8种布局管理器,分别为BorderLayout(边界布局管理器)、BoxLayout(箱式布局管理器)、CardLayout(卡片布局管理器)、FlowLayout(流式布局管理器)、GridBagLayout(网格包布局管理器)、GridLayout(网格布局管理器)、GroupLayout(分组布局管理器)和SpringLayout(弹性布局管理器)。
3、Swing 事件处理的过程中涉及哪些对象。
事件源(Event Source):事件发生的场所,通常就是产生事件的组件,例如窗口、按钮、菜单等。
事件对象(Event):封装了GUI组件上发生的特定事件(通常就是用户的一次操作)。
监听器(Listener):负责监听事件源上发生的事件,并对各种事件做出相应处理的对象(对象中包含事件处理器)。
五、编程题
1.编写一个JFrame 窗口,要求如下:
(1)在窗口的最上方放置一个 JLabel 标签,标签中默认的文本是”此处显示鼠标右键单击的坐标”
(2)为JFrame 窗口添加一个鼠标事件,当鼠标右键单击衡口时,鼠标的坐标在JLabel标签中显示。
2.编写一个 JFrame 窗口,要求如下:
(1)窗口中的 NORTH区域中放置一个 JPanel 面板。
(2)JPanel 面板中从左到右依次放置如下组件:
a.1个JLabel 标签,标签的文本为“兴趣”
b .3个JChckBox 多选按钮,文本分别为“羽毛球”“乒乓球”“唱歌’。
c .1个JLabel 标签, 标签的文本为“性别”
d .两个 JRadioButton 按钮,文本分别为“男”“女”。
(3)窗口的 CENTER 区域放置一个 JScrollPane 容器,容器中放置
一个 JTextArea文本。
(4)当单击多选按钮和单选按钮时,会把选中按钮的文本显示在JTextArea 文本域中.
五、编程题
1、参考答案
import .*;
import .*;
import .*;
public class MyMouseHandler extends JFrame {
public MyMouseHandler() {
final JLabel label = new JLabel("此处显示鼠标右键点击的坐标");
que(true);
kground();
(label, );
e(300, 200);
aultCloseOperation(_ON_CLOSE);
}
}
public static void main(String[] args) {
}
new MyMouseHandler();
seListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
}
if (ton() == 1) {
}
int x = ();
int y = ();
String banner = "鼠标当前点击位置的坐标是" + x + "," + y;
t(banner);
});
ible(true);
2、参考答案
import .*;
import .*;
import .*;
import .*;
public class Information extends JFrame {
// 窗口NORTH部的JPanel面板
private JPanel panel = new JPanel();
// 爱好标签
private JLabel lb1 = new JLabel("兴趣");
// 三个表示爱好的JCheckBox复选框
private JCheckBox cb1 = new JCheckBox("羽毛球");
private JCheckBox cb2 = new JCheckBox("乒乓球");
private JCheckBox cb3 = new JCheckBox("唱歌");
// 性别标签
private JLabel lb2 = new JLabel("性别");
// 表示性别的JRadioButton单选框
private JRadioButton rb1 = new JRadioButton("男");
private JRadioButton rb2 = new JRadioButton("女");
// ButtonGroup添加JRadioButton,实现单选功能
private ButtonGroup bg = new ButtonGroup();
// 文本域组件
private JTextArea area = new JTextArea();
// 窗口CENTER部的JScrollPane面板,其中放置area文本域
private JScrollPane pane = new JScrollPane(area);
// Set集合存放选中的兴趣
private Set
// gender选中的性别
private String gender = "";
// JCheckBox复选框的事件监听器
private ActionListener listener1 = new ActionListener() {
};
// JRadioButton单选框的事件监听器
private ActionListener listener2 = new ActionListener() {
};
private void print() {
}
public Information() {
//添加标签、单选和复选按钮
(lb1);
(cb1);
(cb2);
(cb3);
// 清空文本域
t("");
// 如果Set集合中有元素,打印兴趣
if (() > 0)
("你的兴趣爱好有: ");
Iterator
while (t()) {
}
// 如果gender不为空字符串,打印性别
if (!"".equals(gender))
("你的性别为: " + gender);
(() + " ");
public void actionPerformed(ActionEvent e) {
}
JRadioButton jb = (JRadioButton) rce();
gender = t();
print();
public void actionPerformed(ActionEvent e) {
}
JCheckBox cb = (JCheckBox) rce();
// 选中的复选框把文本添加到Set集合中
if (cted()) {
(t());
// 反之从集合中移除
} else {
}
print();
(t());
// 打印方法
}
}
public static void main(String[] args) {
}
new Information();
(lb2);
(rb1);
(rb2);
(rb1);
(rb2);
// 为单选和复选按钮添加事件监听器
ionListener(listener1);
ionListener(listener1);
ionListener(listener1);
ionListener(listener2);
ionListener(listener2);
// 将JPanel面板和JScrollPane面板添加到JFrame容器中
Container container = tentPane();
(panel, );
(pane, );
();
aultCloseOperation(_ON_CLOSE);
ible(true);
版权声明:本文标题:《Java基础入门》_课后习题答案大一计算机专业8 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1705125201h473778.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论