Java监听器用法(三):外部类监听器
来源:互联网 发布:matlab智能算法工具箱 编辑:程序博客网 时间:2024/05/01 05:49
承接用法一,可以把实现接口的监听器类单独放在外面,但是这时候有个问题,当处理接口的方法要改变框架里组件的状态时,需要在构建监听器是传入这个组件的引用作为参数。
上例做如下修改:
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ButtonFrame extends JFrame{ //继承框架 private JPanel buttonPanel; private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 200; ColorListener yellowListener,blueListener, redListener;//声明监听器,作为一个成员变量 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); // 创建按钮监听器,要传入组件的引用 yellowListener = new ColorListener(Color.YELLOW, buttonPanel); blueListener = new ColorListener(Color.BLUE, buttonPanel); redListener = new ColorListener(Color.RED, buttonPanel); // 为每个按钮设置监听器 yellowButton.addActionListener(yellowListener); blueButton.addActionListener(blueListener); redButton.addActionListener(redListener); } }//监听器单独作为一个外部类class ColorListener implements ActionListener {//实现监听接口 private Color backgroundColor; private JPanel panel; public ColorListener(Color c,JPanel p) {//单独作为一个类时要传入要修改组件的引用 backgroundColor = c; panel=p; } public void actionPerformed(ActionEvent event) { panel.setBackground(backgroundColor);//要把引用传给监听器类 }}
0 0
- Java监听器用法(三):外部类监听器
- java监听器用法(二):窗口监听器
- Java监听器的用法(一):内部类监听器
- Java Servlet(三) 监听器
- Java Servlet(三) 监听器
- Java进阶(三)过滤器和监听器
- 监听器接口(三)
- JAVA监听器添加的四种方式(自身、外部类、内部类、匿名类)
- JAVA监听器添加的四种方式(自身、外部类、内部类、匿名类)
- java匿名类监听器
- 关于监听器(Java)
- Java三大器(过滤器,拦截器,监听器)之监听器
- Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)
- Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)
- 过滤器、监听器 (监听器 )
- Servlet复习(三)监听器
- 外部类作为事件监听器类
- 外部类作为事件监听器类
- 设计模式之开放封闭原则
- dwr省市联查
- 几个重要的关键字
- UILabel 垂直居中问题
- Linux USB Gadget--各环节的整合
- Java监听器用法(三):外部类监听器
- Lua 语言 15 分钟快速入门(转)
- makefile 常用函数notdir、wildcard、patsubst
- 幻方的实现,矩阵每行每列每个对角线之和相等
- 编程艺术之第二章:字符串包含
- Linux USB Gadget--设备枚举
- Remove Nth Node From End of List
- 图像处理中目标函数求解方法整理(更新一部分)
- UITabBarItem初始化详解及UIImage渲染模式