본문 바로가기
IT/Java

자바 AWT 이벤트 추가하기

by flatsun 2019. 8. 2.
반응형
package db;

import java.awt.Button;
import java.awt.Desktop.Action;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class FrameTest implements ActionListener {

	// 버튼 클릭 시
	public void actionPerformed(ActionEvent e) {
		// 버튼을 클릭했을 시
		if(e.getActionCommand().equals("버튼1")) {	
			System.out.println("Click Button 1");
		// 다른 버튼 클릭 시
		} else {
			System.out.println("Click Button 2");
		}
	}
	
	public static void main(String[] args) {
		
		// 프레임 만들기
		Frame f = new Frame();
		
		// 프레임 셋팅
		f.setTitle("TEST");
		f.setBounds(100, 100, 500, 500);
		f.setVisible(true);			
		
		// 프레임의 레이아웃 설정
		f.setLayout(null);				

		// 컴포넌트 만들기
		Button btn = new Button("버튼1");
		Button btn2 = new Button("버튼2");
		
		// 컴포넌트 위치, 크기 설정
		btn.setBounds(50, 50, 100, 100);
		btn2.setBounds(200, 50, 100, 100);
		
		// 컴포넌트에 addActionLister 추가
		btn.addActionListener(new FrameTest());
		btn2.addActionListener(new FrameTest());
		
		// 프레임에 컴포넌트 붙이기
		f.add(btn);
		f.add(btn2);
	}
}

이번에는 버튼 클릭 시 이벤트인데

버튼 클릭 시 이벤트를 사용하기 위해서는

 

ActionLister를 implement 받아야 한다

이후 버튼 클릭 시 수행되는 actionPerformed 메소드에서

 

getActionCommand().equals("버튼명"); 으로 누른 버튼을 확인한 뒤

클릭한 버튼을 출력하는 내용인데

 

다 할라고 했더니 너무 분량이 많아서 귀찮더라

그래서 버튼 하나만 하기로 했는데

 

이렇게 작성했을 경우 실제 실행 시

 

누른 버튼에 따라 다른 내용이 출력되는 것이 보인다

반응형

댓글