zoukankan      html  css  js  c++  java
  • 【 java版坦克大战--事件处理】 让坦克动起来--事件处理的准备

    要能够控制坦克运动,必须用到事件处理的知识.

    事件处理的一个demo.

     1 /**
     2  * 事件处理机制:委派事件模型.指当事件发生的时候,产生事件的对象(事件源),会把此
     3  * "消息"传递给"事件的监听者"的一种处理方式,而这里的"信息"指java.awt.event事件类库种
     4  * 某个类创建的对象. 在java种,消息 是一种事件对象.
     5  * 
     6  * 
     7  * 事件源-----事件(一个事件对象)----->事件监听者[事件处理方法]
     8  */
     9 package com.test3;
    10 import java.awt.*;
    11 import javax.swing.*;
    12 
    13 import java.awt.event.ActionEvent;
    14 import java.awt.event.ActionListener;
    15 public class Demo9_3 extends JFrame implements ActionListener{
    16     JPanel mp = null;
    17     JButton jb1=null,jb2=null;
    18     public static void main(String[] args) {
    19         Demo9_3 demo9_3 = new Demo9_3();
    20     }
    21     public Demo9_3(){
    22         mp = new JPanel();
    23         jb1 = new JButton("黑色");
    24         jb2 = new JButton("红色");
    25         
    26         this.add(jb1,BorderLayout.NORTH);
    27         mp.setBackground(Color.black);
    28         this.add(mp);
    29         this.add(jb2,BorderLayout.SOUTH);
    30         Cat myCat1 = new Cat();
    31         
    32         //注册监听  对象->实例.实例监听.
    33         jb1.addActionListener(this);
    34         jb1.addActionListener(myCat1);
    35         //指定action命令.如果jb1被点击,黑色command被传递.
    36         jb1.setActionCommand("黑色");
    37         
    38         jb2.addActionListener(this);
    39         jb2.setActionCommand("红色");
    40         
    41         this.setSize(200,150);
    42         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    43         this.setVisible(true);
    44     }
    45     //事件处理方法
    46     @Override
    47     public void actionPerformed(ActionEvent e) {
    48 //        System.out.println("ok");
    49         //判断是哪个按钮被点击
    50         if(e.getActionCommand().equals("黑色")){
    51             System.out.println("黑色被点击了");
    52             mp.setBackground(Color.black);
    53         }else if(e.getActionCommand().equals("红色")){
    54             System.out.println("红色被点击了");
    55             mp.setBackground(Color.red);
    56         }
    57     }
    58 }
    59 
    60 class Cat implements ActionListener{
    61 
    62     @Override
    63     public void actionPerformed(ActionEvent e) {
    64             if(e.getActionCommand().equals("黑色")){
    65                 System.out.println("猫猫知道你按下黑色按钮了");
    66             }else if(e.getActionCommand().equals("红色")){
    67                 System.out.println("猫猫知道你按下红色按钮了");
    68             }
    69     }
    70     
    71 }

    运行后.点击按钮console显示如下.

    其中有两个监听者,分别是this,mycat1二者都是通过implements ActionListener接口来获得监听功能的.

     

    点击后背景颜色变化。

    如果感觉不错,请 一个!
    by simpman
  • 相关阅读:
    Puppeteer--API
    Puppeteer--性能优化
    Puppeteer--代码示例(3)
    Puppeteer--代码示例(2)
    Puppeteer--代码示例(1)
    Puppeteer--等待加载
    Puppeteer--创建实例
    Puppeteer--爬坑记录
    Puppeteer--参考介绍
    vue.js的的回到顶部
  • 原文地址:https://www.cnblogs.com/simpman/p/3565772.html
Copyright © 2011-2022 走看看