JAVA进阶8.4——事件处理(1)事件监听与控件事件

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test extends JFrame implements ActionListener
{
	WoDeMianBan3 mianBan=null; //声明面板
	JButton b1,b2;//声明按钮
	public static void main(String[] args)//主函数
	{
		Test t1=new Test();//声明并新建主类对象
	}
	public Test()//构造函数 在t1类对象被调用的时候自动运行
	{
		mianBan=new WoDeMianBan3();//新建面板
		b1=new JButton("红色");//新建按钮
		b2=new JButton("蓝色");
		JianTingZhe jianTing1=new JianTingZhe();//声明并新建监听1
		
		this.add(b1,BorderLayout.NORTH);//把按钮b1安装到面板北部
		this.add(b2, BorderLayout.SOUTH);//把按钮b2安装到面板南部
		mianBan.setBackground(Color.yellow);//设置面板背景为黄色
		this.add(mianBan);//在t1对象中添加这个面板。
		b1.addActionListener(this);//按钮b1添加活动监听者 相当于新建一个监听器
		b1.addActionListener(jianTing1);//按钮b1添加活动监听者“监听1”  相当于把“监听1”赋值给新建的监听器
		b1.setActionCommand("1");//区别按钮  设置活动命令1
		b2.addActionListener(this);
		b2.addActionListener(jianTing1);
		b2.setActionCommand("2");
		
		this.setSize(300,260);
		this.setLocation(300,280);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
	public void actionPerformed(ActionEvent e)//活动操作(按钮单击方法)
	{
		//System.out.println("按钮起作用了");
		if(e.getActionCommand().equals("1"))//如果活动指令等于1
		{
			//System.out.println("红色");
			mianBan.setBackground(Color.red);//面板背景变成红色
		}
		else if(e.getActionCommand().equals("2"))//如果活动指令等于2
		{
			//System.out.println("蓝色");
			mianBan.setBackground(Color.blue);//面板背景变成蓝色
		}
	}
}
class WoDeMianBan3 extends JPanel//创建面板类
{
	public void paint(Graphics g) //paint绘画 graphics图形
	{
		super.paint(g);//用父类的方法。听说没什么用但还是要写一下。
	}
}
class JianTingZhe implements ActionListener//实现监听器接口 ActionListener监听器
{
	public void actionPerformed(ActionEvent a)活动操作 活动事件a 
	{
		if(a.getActionCommand().equals("1"))//得到活动指令等于1
		{
			//System.out.println("监听者在监听,知道你按下的是红色按钮");
		}
		else if(a.getActionCommand().equals("2"))//得到活动指令等于2
		{
			//System.out.println("监听者在坚挺,知道你按下的是蓝色按钮");
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值