Java/Excercise

swing ch05 EventListenerEx2

낭구리 2021. 9. 6. 16:58
package ch05;

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

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

class MyFrame2 extends JFrame implements ActionListener {

	JButton button1;
	JButton button2;
	JButton button3;
	JButton button4;
	JButton button5;

	public MyFrame2() {
		initData();
		setLayout();
		addEventListener();
	}

	private void initData() {
		setTitle("이벤트 리스너 연습2");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(500, 500);
		button1 = new JButton("이벤트 버튼1");
		button2 = new JButton("button2");
		button3 = new JButton("button3");
		button4 = new JButton("button4");
		button5 = new JButton("button5");
	}

	private void setLayout() {
		setVisible(true);
		setLayout(new FlowLayout());
		add(button1);
		add(button2);
		add(button3);
		add(button4);
		add(button5);
	}

	private void addEventListener() {

		button1.addActionListener(this);
		button2.addActionListener(this);
		button3.addActionListener(this);
		button4.addActionListener(this);
		button5.addActionListener(this);

	}

	@Override
	public void actionPerformed(ActionEvent e) {

//		System.out.println("ActionEvent 일어나면 여기 메서드에서 동작됨");
//		System.out.println(e.toString());
		JButton clickedButton = (JButton) e.getSource();
		System.out.println(clickedButton.getText());

		// if문을 사용해서 //== equals
//		if(clickedButton == button1){
//		System.out.println("1번 버튼이 클릭되었습니다");			
//		}else {
//		System.out.println("2번 버튼이 클릭되었습니다");			
//		}

		if (clickedButton.getText().equals(this.button1.getText())) {
			System.out.println("1번 버튼이 클릭되었습니다");
		} else if (clickedButton.getText().equals(this.button2.getText())){
			System.out.println("2번 버튼이 클릭되었습니다");
		}else if(clickedButton.getText().equals(this.button3.getText())){
			System.out.println("3번 버튼이 클릭되었습니다");
		}else  if(clickedButton.getText().equals(this.button4.getText())){
			System.out.println("4번 버튼이 클릭되었습니다");
		}else {
			System.out.println("5번 버튼이 클릭되었습니다");
		}
	}
	// button1.getText 이런식으로 하드코딩하게 되는것보단 변수를 사용하느 것이 좋다.

}

public class EventListenerEx2 {

	public static void main(String[] args) {
		new MyFrame2();
	}

}

'Java > Excercise' 카테고리의 다른 글

swing ch05 EventListenerEx4  (0) 2021.09.06
swing ch05 EventListenerEx3  (0) 2021.09.06
swing ch05 EventListenerEx1  (0) 2021.09.06
generic ch05 Point  (0) 2021.09.06
swing ch04 MainTest2  (0) 2021.09.03