java事件监听机制2
2013-07-27 21:31
429 查看
今天早上的两点收获:
1、addActionListener(其中的setActionCommand函数就是要对对象进行唯一性的标记,便于消息传来后进行处理。理论上actionlistener可以全部代替其他监听,我是这么认为的,因为其标记的唯一性,但是这样的话会让某些很简单的监听变得复杂,所以一般只对要唯一性判断的监听才用)
2、消息监听只是对特定的对象进行特定方式的监听,监听的结果是一大堆的事件,所以要判断某个按钮是否被点击还是得要对传来的消息进行具体按钮的判断
另外,绘图是要记得手动进行repaint函数的调用。
Demo代码:
红黑色背景切换。
1、addActionListener(其中的setActionCommand函数就是要对对象进行唯一性的标记,便于消息传来后进行处理。理论上actionlistener可以全部代替其他监听,我是这么认为的,因为其标记的唯一性,但是这样的话会让某些很简单的监听变得复杂,所以一般只对要唯一性判断的监听才用)
2、消息监听只是对特定的对象进行特定方式的监听,监听的结果是一大堆的事件,所以要判断某个按钮是否被点击还是得要对传来的消息进行具体按钮的判断
另外,绘图是要记得手动进行repaint函数的调用。
Demo代码:
/* * 实现java事件监听机制 */ package com.listener; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; public class Demo9_5 extends JFrame { //定义组件 JButton jb1,jb2; MyPanel jp1; public static void main(String[] args) { Demo9_5 demo9_5 = new Demo9_5(); } public Demo9_5() { //创建组件 jb1 = new JButton("黑色"); jb2 = new JButton("红色"); //添加组件 jp1 = new MyPanel(); jb1.setActionCommand("black"); jb2.setActionCommand("red"); this.setLayout(new GridLayout(3,1)); //设置布局样式 this.add(jb1); this.add(jp1); this.add(jb2); //注册监听! jb1.addActionListener(jp1); jb2.addActionListener(jp1); //显示窗体 this.setSize(400,300); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class MyPanel extends JPanel implements ActionListener { //画出背景颜色 int c = 0; public void paint(Graphics g) { super.paint(g); //获取当前mypanel的宽和高 int w,h; w = this.getWidth(); h = this.getHeight(); if(c == 0) { g.fillRect(0, 0, w, h); } else if(c == 1) { g.setColor(Color.red); g.fillRect(0, 0, w, h); } } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getActionCommand() == "black") { c = 0; repaint(); System.out.println("BLACK"); } if(e.getActionCommand() == "red") { c = 1; repaint(); System.out.println("RED"); } } }
红黑色背景切换。
相关文章推荐
- java事件监听机制(观察者设计模式的实际运用)
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
- JAVA事件监听机制的实现
- JAVA事件处理,和事件监听机制
- 创建图形用户界面GUI和事件监听机制的简单实现(java)
- Java 中的事件监听机制
- java实现简单的窗体和密码验证(传参,事件机制和事件监听的作用过程)
- 详解java的事件监听机制和观察者设计模式
- 详谈Java中的事件监听机制
- Java中事件处理事件监听机制
- Java事件监听机制
- 再谈java事件监听机制
- java事件监听机制 概述
- 再谈java事件监听机制
- java中的事件监听机制
- JAVA 图形开发之计算器设计(事件监听机制)
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- java事件监听机制,spring中的event listener模式和解耦
- 再谈java事件监听机制
- 用OC实现一个类似java的事件监听机制