事件監聽

ExcesiveYue發表於2017-12-21
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test extends JFrame implements ActionListener{

	Wdmb mb=null;
	JButton an1,an2;

	public static void main(String[] args) throws Exception{

		Test lx=new Test();	
	}

	public Test(){

		mb=new Wdmb();
		an1=new JButton("紅色");
		an2=new JButton("藍色");
		Jtz jt1=new Jtz();

		this.add(an1,BorderLayout.NORTH);
		this.add(an2,BorderLayout.SOUTH);
		mb.setBackground(Color.green);
		this.add(mb);

		an1.addActionListener(this);
		an1.addActionListener(jt1);
		an1.setActionCommand("111");//區別按鈕
		
		an2.addActionListener(this);
		an2.addActionListener(jt1);
		an2.setActionCommand("222");

		this.setSize(300,260);
		this.setLocation(300,280);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);	
	}

	public void actionPerformed(ActionEvent e){
		if(e.getActionCommand().equals("111")){
			System.out.println("紅色紅色");
			mb.setBackground(Color.red);
		}
		else if(e.getActionCommand().equals("222")){
			System.out.println("藍色藍色");
			mb.setBackground(Color.blue);
		}
	}


	class Wdmb extends JPanel{
		public void paint(Graphics g){
			super.paint(g);
		}
	}

	class Jtz implements ActionListener{
		public void actionPerformed(ActionEvent aa){
			if(aa.getActionCommand().equals("111"))
			{
				System.out.println("監聽者在監聽,知道你按下的是紅色按鈕");
			}
			else if(aa.getActionCommand().equals("222"))
			{
				System.out.println("監聽者在監聽,知道你按下的是藍色按鈕");
			}
		}
	}

}

初始介面

按下紅色按鈕後

按下藍色按鈕後

相關文章