知识单元七 组件及事件处理

简介: 知识单元七 组件及事件处理

1. Window是显示信息的窗口,它独立于其他容器,Window的两种形式为( ) [单选题] *

FrameDialog(正确答案)

PanelFrame

ContainerComponent

LayoutManagerContainer

2. 框架(JFrame)的缺省布局管理器就是( ) [单选题] *

流式布局(FlowLayout

卡式布局(CardLayout

边框布局(BorderLayout(正确答案)

网格布局(GridLayout

3. 下列不属于Java的图形用户界面内容的包是(  )。 [单选题] *

javax.swing

java.awt

java.awt.event

java.io(正确答案)

4. AWT中用来表示颜色的类是(  )。 [单选题] *

Font

Color(正确答案)

Panel

Dialog

5. 下列哪个叙述是不正确的?( ) [单选题] *

一个应用程序中最多只能有一个窗口(正确答案)

JFrame创建的窗口默认是不可见的

不可以向JFrame窗口中添加JFrame窗口

窗口可以调用setTitle(String s)方法设置窗口的标题

6. 下列哪个叙述不正确的?( ) [单选题] *

使用FlowLayout布局的容器最多可以添加5个组件(正确答案)

使用BorderLayout布局的容器被划分成5个区域

JPanel的默认布局是FlowLayout布局

JDialog的默认布局是BorderLayout布局

7. 所有GUI标准组件类的父类是( ) [单选题] *

JButton

List

Component(正确答案)

Container

8. 下列关于菜单和对话框的描述中,错误的是( ) [单选题] *

JFrame容器是可以容纳菜单组件的容器

菜单条中可包含若干个菜单,菜单中又可包含若干菜单项,菜单项中还可包含菜单子项(正确答案)

对话框内不可以含有菜单条

对话框与JFrame一样都可以作为程序的底层容器

9. 容器类java.awt.Container的父类是(  )。 [单选题] *

java.awt.Window

java.awt.Component(正确答案)

java.awt.Frame

java.awt.Panel

10. 下列组件不能添加进JFrame主窗口的是(  )。 [单选题] *

JPanel

JCheckBox

JDialog(正确答案)

JTree

11. 下列哪个叙述是不正确的?( ) [单选题] *

JButton对象可以使用addActionListener(ActionListener l)方法将没有实现ActionListener接口的类的实例注册为自己的监视器(正确答案)

对于有监视器的JTextField文本框,如果该文本框处于活动状态(有输入焦点)时,用户即使不输入文本,只要按回车键也可以触发ActionEvent事件

监视KeyEvent事件的监视器必须实现KeyListener接口

监视WindowEvent事件的监视器必须实现WindowListener接口

12. 如果有一个对象myListenter(其中myListener对象所在的类实现了ActionListener接口),下列哪条语句使得myListener对象能够接收处理来自smallButton按钮对象的动作事件?( ) [单选题] *

smallButton.add(myListener);

smallButton.addListener(myListener);

smallButton.addActionListener(myListener);(正确答案)

smallButton.addItem(myListener);

13. 假设容器con的布局是BorderLayout,下列哪个将组件com添加到con的北面。 [单选题] *

con.add(com,BorderLayout.NORTH)(正确答案)

con.add(com,BorderLayout.SOUTH)

con.add(com,BorderLayout.EAST)

con.add(com,BorderLayout.WEST)

14. 为了给JMenuItem菜单项b注册ActionEvent事件的监视器listen,下列哪个是正确的? [单选题] *

b.addActionListener(listen)(正确答案)

b.addItemListener(listen)

b.addMouseListener(listen)

b.addWindowListener(listen)

15. 为了给JCheckBox复选框b注册ItemEvent事件的监视器listen,下列哪个是正确的? [单选题] *

b.addActionListener(listen)

b.addItemListener(listen)(正确答案)

b.addMouseListener(listen)

b.addWindowListener(listen)

16. 为了给JTextField文本框b注册FocusEvent事件的监视器listen,下列哪个是正确的? [单选题] *

b.addActionListener(listen)

b.addItemListener(listen)

b.addFocusListener(listen)(正确答案)

b.addWindowListener(listen)

17. 哪个叙述是错误的? [单选题] *

JFrame窗口可以调用setLocation(int x,int y)设置自己的在显示屏上的位置

容器也可以添加JFame的实例到该容器中(正确答案)

JTextField文本框允许用户在文本框中输入单行文本

JTextField可以触发ActionEvent事件

18. "对于下列代码,哪个叙述是正确的?

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Win extends JFame{

JButton b;

public Win(){

setLayout(new FlowLayout());

b=new JButton(""yes"");

add(b);

b.addActionListener(new ActionListener() {


@Override

public void actionPerformed(ActionEvent e) {

b.setText(""ok"");

}

});

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new Win();

}

}

" [单选题] *

窗口Win的布局是BorderLayout布局

用户单击按钮b不会触发ActionEvent事件

用户单击按钮b后,按钮上的名字改变成ok(正确答案)

用户单击按钮b后,按钮上的名字仍然是yes

19. "对于下列代码,哪些叙述是正确的?(多选)

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Win extends JFame{

JCheckBox check;

public Win(){

setLayout(new FlowLayout());

check=new JCheckBox(""你好"");

add(check);

check.addItemListener(new ItemListener() {


@Override

public void itemStateChanged(ItemEvent e) {

if (check.isSelected()){

check.setText(""yes"");

}else{

check.setText(""no"");

}

}

});

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new Win();

}

}" *

用户将复选框的状态从未选中状态变成选中状态时触发ActionEvent事件

用户将复选框的状态从选中状态变成未选中状态时触发ActionEvent事件

用户将复选框的状态从未选中状态变成选中状态时,复选框的名字变成yes(正确答案)

用户将复选框的状态从未选中状态变成选中状态时,复选框的名字变成no(正确答案)

20. "对于下列代码,哪些叙述是正确的?(多选)

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Win extends JFame{

JTextArea text;

int m=0;

public Win(){

setSize(500,400);

setLayout(new FlowLayout());

text=new JTextArea(""你好"");

add(text);

text.addMouseListener(new MouseAdapter() {

@Override

public void mouseEntered(MouseEvent e) {

m++;

text.setText(""+m);

}

});

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new Win();

} *

用户第一次将鼠标指针移动进入文本区text内,text显示的文本是你好

用户将鼠标指针移动进入文本区text,触发了DocumentEvent事件

用户第一次将鼠标指针移动进入文本区text内,text显示的文本是1(正确答案)

用户将鼠标指针退出文本区,用户第二次将鼠标指针移动进入文本区text内,text显示的文本是2(正确答案)

目录
相关文章
|
10天前
|
JavaScript 前端开发
事件处理机制
【9月更文挑战第02天】
38 9
|
14天前
|
数据采集 存储 前端开发
ClkLog 自定义事件分析登场
ClkLog的自定义事件分析功能在大家满满的期待下终于发布了。 本次更新我们添加了用户关联、事件采集、事件分析三大块功能点。
ClkLog 自定义事件分析登场
|
11天前
|
图形学 开发者 UED
Unity游戏开发必备技巧:深度解析事件系统运用之道,从生命周期回调到自定义事件,打造高效逻辑与流畅交互的全方位指南
【8月更文挑战第31天】在游戏开发中,事件系统是连接游戏逻辑与用户交互的关键。Unity提供了多种机制处理事件,如MonoBehaviour生命周期回调、事件系统组件及自定义事件。本文介绍如何有效利用这些机制,包括创建自定义事件和使用Unity内置事件系统提升游戏体验。通过合理安排代码执行时机,如在Awake、Start等方法中初始化组件,以及使用委托和事件处理复杂逻辑,可以使游戏更加高效且逻辑清晰。掌握这些技巧有助于开发者更好地应对游戏开发挑战。
26 0
|
3月前
|
数据采集 JavaScript 前端开发
理解并应用:JavaScript响应式编程与事件驱动编程的差异
了解JavaScript的响应式编程与事件驱动编程至关重要。事件驱动编程基于事件触发函数执行,如用户交互或系统事件。响应式编程则关注数据流变化,利用Observables自动响应更新。在爬虫代理IP的Web Scraping示例中,两者分别通过axios和rxjs显示了数据抓取的不同处理方式。掌握这两者能提升异步操作的效率和代码质量。
理解并应用:JavaScript响应式编程与事件驱动编程的差异
|
2月前
|
前端开发 JavaScript 算法
react【框架原理详解】JSX 的本质、SyntheticEvent 合成事件机制、组件渲染过程、组件更新过程
react【框架原理详解】JSX 的本质、SyntheticEvent 合成事件机制、组件渲染过程、组件更新过程
45 0
|
4月前
|
缓存 前端开发 JavaScript
【亮剑】在React中如何通过点击事件控制组件显示与隐藏,包括基础概念和高级应用
【4月更文挑战第30天】本文介绍了在React中如何通过点击事件控制组件显示与隐藏,包括基础概念和高级应用。使用`useState`钩子和Context API可实现状态驱动的条件渲染,通过CSS类控制组件样式,或利用React Portals在DOM不同位置渲染。性能优化应注意避免不必要的渲染、合理使用Keys、优化事件处理器、使用Memoization及清理资源。测试和验证确保逻辑正确性,以构建动态用户界面并提升应用性能。
427 0
|
10月前
|
前端开发
如何理解受控和非受控件组件?
如何理解受控和非受控件组件?
uiu
|
JavaScript 调度
【Svelte】-(5)DOM事件 / 事件修饰符 / 组件事件 / 事件转发 (组件之间的事件沟通)
【Svelte】-(5)DOM事件 / 事件修饰符 / 组件事件 / 事件转发 (组件之间的事件沟通)
uiu
189 0
【Svelte】-(5)DOM事件 / 事件修饰符 / 组件事件 / 事件转发 (组件之间的事件沟通)
|
11月前
|
JavaScript 前端开发
“深入理解事件处理器、表单综合案例和组件通信“
“深入理解事件处理器、表单综合案例和组件通信“
33 0
|
JavaScript 小程序 开发者
【微信小程序】冒泡事件与非冒泡事件、将文章数据从业务中分离、wxml的模块化
冒泡事件是指某个组件上的时间被触发后,事件还会向父级元素传递;父级元素还会继续向父级的父级传递,一直到页面的顶级元素。而非冒泡事件则不会向父级元素传递事件。
【微信小程序】冒泡事件与非冒泡事件、将文章数据从业务中分离、wxml的模块化