Java监听器的用法(一):内部类监听器
当在处理按钮等监听事件时,需要注册监听器,监听器的位置不同,角色就不同,访问的区域就不同。
内部类是在另一个类中声明的,包含内部类的类叫做外嵌类
内部类和外嵌类的关系:
1.内部类的外嵌类的成员变量在内部类中仍有效,内部类的方法也可以调用外嵌类的方法。即内部类可以访问外部类的变量和方法。
2.在内部类的类体中不可以申明类变量和类方法,外嵌类的类体重可以用内部类声明对象作为外嵌类的成员。
三个按钮控制面板的三种颜色
import java.awt.*;
import javax.swing.*;
public class ButtonTest
{public static void main(String[] args){ JFrame frame = new ButtonFrame();frame.setTitle("ButtonTest"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonFrame extends JFrame
{private JPanel buttonPanel;private static final int DEFAULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 300;public ButtonFrame(){ setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);// 创建按钮对象JButton yellowButton = new JButton("Yellow");JButton blueButton = new JButton("Blue");JButton redButton = new JButton("Red");buttonPanel = new JPanel();// 添加按钮到画板buttonPanel.add(yellowButton);buttonPanel.add(blueButton);buttonPanel.add(redButton); add(buttonPanel);// 创建按钮监听器ColorListener yellowListener = new ColorListener(Color.YELLOW);ColorListener blueListener = new ColorListener(Color.BLUE);ColorListener redListener = new ColorListener(Color.RED);// 为每个按钮设置监听器yellowButton.addActionListener(yellowListener);blueButton.addActionListener(blueListener);redButton.addActionListener(redListener);}//内部类监听器private class ColorListener implements ActionListener{private Color backgroundColor;public ColorListener(Color c) {backgroundColor = c;}public void actionPerformed(ActionEvent event) {buttonPanel.setBackground(backgroundColor);//内部类可以访问外部类的变量}}
}
Java监听器的用法(一):内部类监听器相关推荐
- java监听器详解_java之监听器详解
监听器接口定义了一个类要成为监听器必须具备的功能.所有的监听器接口也都必须继承监听器接口基类 java.util.EventListener:EventListener本身没有定义任何方法,它只是一个 ...
- java类修饰词和内部类详解
java类修饰词和内部类详解 控制属性: 同一类内 同一包内 子类 所有类 public 可 可 可 ...
- Java编程笔记7:内部类
Java编程笔记7:内部类 图源:PHP中文网 所谓的内部类,其实就是定义在类中的类.这和Java编程笔记6:接口 - 魔芋红茶's blog (icexmoon.xyz)中提到的接口嵌套的方式有点相 ...
- JAVAWEB——监听器(Listener),监听器编写步骤,八大监听器的介绍
一.关于监听器那些? 监听器:监听某个对象的的状态变化的组件 事件源:被监听的对象 监听器:监听事件源对象 事件源对象的状态的变化都会触发监听器 注册监听器:将监听器与事件源进行绑定 响应行为:监听器 ...
- 四种Java线程池用法解析
四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...
- java基础(十三)-----详解内部类——Java高级开发必须懂的
java基础(十三)-----详解内部类--Java高级开发必须懂的 目录 为什么要使用内部类 内部类基础 静态内部类 成员内部类 成员内部类的对象创建 继承成员内部类 局部内部类 推荐博客 匿名内部 ...
- 2020-12-17 【 java优先队列的用法】
java优先队列的用法 peek是top() 只取最上面的元素 poll是pop() 弹出 add是添加 push 类的比较器,相对于仿函数 struct cmp{ bool operator ()( ...
- java中import用法
java中import用法 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 impo ...
- java.nio.ByteBuffer用法小结
转载自 java.nio.ByteBuffer用法小结 在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入 ...
最新文章
- css 自动换行_前端必备!20个CSS小技巧
- “当前上下文中不存在名称”解决
- 【s操作】手机移动数据网络问题初级解决方案,论手机运营商网络状况
- Spring MVC的优势
- centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...
- ~~堆(数据结构)(附模板题 AcWing 838. 堆排序)
- Membership、MembershipUser和Roles类
- TDateTime转
- 单元素的枚举类型已经成为实现Singleton的最佳方法
- 串口调试助手fx2n_串口调试助手发送控制台达PLC命令
- c语言矩阵键盘反转法扫描,行列扫描法,反转法,状态机法三种矩阵键盘扫描方法详解 带程序...
- win10哪个版本最好用,推荐win10企业版LTSC
- 摄影测量前方交会编程实现
- 计算机组成原理 / 反汇编实验(2)拆弹实验
- 什么情况下你会毫不犹豫地辞职?
- Entity Framework Core系列教程-25-Entity Framework Core日志
- java web inf_JavaWeb - 访问 WEB-INF 资源几种方式
- 使用vue-cli快速构建项目
- Cmake传入项目版本号
- dns服务器未响应重启就好,网络诊断提示DNS服务器未响应解决方法 - 全文
热门文章
- stm8s开发(七) SPI的使用:SPI主机通信!
- ESP8266-SDK的硬件定时器
- C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板成员函数的实例化
- [armv9]-Introducing-Arm-Confidential-Compute-Architecture
- [How TO]-virtualbox下安装ubuntu14.04超详细
- Selenium 与 PhantomJS
- X86汇编——简易通讯录
- c#随机数生成编号_使用C#生成随机密码(纯数字或字母)和随机卡号(数字与字母组合)...
- 使用GetProcAddress获取ZwUnmapViewOfSection函数指针
- HTML5学习笔记(一)(2015-12-2)【新浪云搬运】