java核心技术 事件处理

                                                      事件处理

事件处理: 进行事件处理,那么就一定要用到监听器   

先上代码:

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
//下面实现一个按钮添加事件监听器的方法

 class Btnj extends JFrame {
	 //这个主要是加一个JFrame

	public  Btnj()
	{
		setSize(400, 300);
		setTitle("按钮窗口事件");
	
		//下面开始定义三个Button 
		JButton  yelloButton  = new  JButton("Yello");
		JButton  greenButton = new JButton("Green");
		JButton  redButton = new JButton("Red");
		
		//下面来一个panel 主要目的是吧button 全部加入进去
	    buttonPanel = new JPanel();
		buttonPanel.add(yelloButton);
		buttonPanel.add(greenButton);
		buttonPanel.add(redButton);
		
		//button 加完了然后把面板加到JFrame 中去
		add(buttonPanel);
		
		//下面为按钮创建监听事件
		ColorAction yelloAction = new ColorAction(Color.yellow);
		ColorAction greenAction = new ColorAction(Color.green);
		ColorAction redAction = new ColorAction(Color.red);
		
		//然后按钮加入监听事件
		yelloButton.addActionListener(yelloAction);
		greenButton.addActionListener(greenAction);
		redButton.addActionListener(redAction);
	}
	private JPanel  buttonPanel;
	
	class ColorAction implements ActionListener
	{
		public ColorAction(Color c) {
			// TODO Auto-generated constructor stub
			background = c;
		}

		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			//这个主要是事件发生进行的函数
			buttonPanel.setBackground(background);
		}
		private Color background;
	}

}

public class Exmple_03 {
	//主类中要有主函数
	public static void main(String[] args)
	{//这里作为public 类必须与文件名一致
		EventQueue.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				Btnj frame = new Btnj(); //新建一个对象
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setVisible(true);
			}
		});
		
	}
	

}

 最近天线考试  ,具体内容,以后补上 。。。。。
wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值