java事件处理机制
2018-03-07 11:54
323 查看
/** * 功能:事件处理机制 * 按下按钮会产生不停地效果 */ package com.ShiJianChuLi; import java.awt.*; import javax.swing.*; import java.awt.Event.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Demo1 extends JFrame implements ActionListener{ //定义所需组件 //定义一个panel //MyPanel myPanel=null; JButton jButton1=null; JButton jButton2=null; JPanel jPanel=null; JPanel jPanel2=null; public static void main(String[] args) { // TODO Auto-generated method stub Demo1 demo1=new Demo1(); } //构造函数初始化组件 public Demo1(){ Cat cat=new Cat(); // myPanel=new MyPanel(); jButton1=new JButton("黑色"); jButton2=new JButton("红色"); jPanel=new JPanel(); jPanel2=new JPanel(); this.add(jPanel,BorderLayout.NORTH); this.add(jPanel2); //this.add(myPanel); jPanel.add(jButton1); jPanel.add(jButton2); /** * 事件监听的实现: * 事件源:jButton1、jButton2 * 事件:当这两个按钮被点击时,会产生事件信息如“选择黑色” * 事件监听者:this、以及cat对象 (注:事件监听者的类必须继承ActionListener之类的接口(这里是按钮的单击,选择ActionListener;如果是键盘,就得继承KeyListener等等),并重载actionPerformed方法) * 总的来说,当事件源产生事件,便会自动调用事件监听者的actionPerformed方法(其他的接口也有对应的方法) */ //注册监听 jButton1.addActionListener(this); jButton1.addActionListener(cat); //指定监听action命令 jButton1.setActionCommand("选择黑色"); jButton2.addActionListener(this); jButton2.addActionListener(cat); jButton2.setActionCommand("选择红色"); this.setTitle("事件处理机制"); this.setSize(400, 400); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } //事件处理的方法,当demo1获取事件信息,(得到 监听)会自动调用该函数 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //判断是那个按钮被点击 if (e.getActionCommand().equals("选择黑色")) { System.out.println("你选中了黑色按钮"); jPanel2.setBackground(Color.black); } if (e.getActionCommand().equals("选择红色")) { System.out.println("你选中了红色按钮"); jPanel2.setBackground(Color.red); } } } class Cat implements ActionListener{ //事件处理方法 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if (e.getActionCommand().equals("选择黑色")) { System.out.println("黑猫警长"); } if (e.getActionCommand().equals("选择红色")) { System.out.println("虹猫宝宝"); } } } //class MyPanel extends JPanel{ // public void paint(Graphics graphics){ // // } // public MyPanel(){ // // } //}运行结果:
点击“黑色”按钮:
点击“红色”按钮:
相关文章推荐
- java事件处理机制(自定义事件)
- java事件处理机制(自定义事件)
- Java的事件处理机制
- java事件处理机制 自定义事件(转载)
- java 事件处理机制
- Java事件处理机制 - 事件监听器的四种实现方式
- java事件处理机制--深入理解(笔记)
- JAVA事件处理机制
- Java学习笔记(AWT 之 事件处理机制)
- java .net MFC QT事件处理机制
- Java事件处理机制(自定义事件)
- java事件处理机制(自定义事件)
- java事件处理机制
- Java- 事件处理机制
- JAVA事件处理机制
- javaSwing_6事件处理机制
- java事件处理机制(自定义事件)
- 从零开始理解JAVA事件处理机制(3)
- 【Java】Java绘图技术与事件处理机制
- Java的事件处理机制