Language/Java

swing

원2 2021. 4. 19. 10:13
728x90
반응형

package javaProject;

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

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

public class pannelTest extends JFrame implements ActionListener {
	pannelTest() {
		setLayout(new FlowLayout()); // 배치방법
		JButton btn1 = new JButton("버튼1");
		JButton btn2 = new JButton("버튼2");
		JButton btn3 = new JButton("버튼3");
		// Button btn4 = new Button("버튼4"); // 다른 모양의 버튼
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 종료할때 완전히 끄기 위해서.

		add(btn1); // 여기서의 add: 상위 객체에 add를 하겠다. // 프레임에 부착
		add(btn2); // 여기서의 add: 상위 객체에 add를 하겠다. // 프레임에 부착
		add(btn3); // 여기서의 add: 상위 객체에 add를 하겠다. // 프레임에 부착
		// add(btn4); // 여기서의 add: 상위 객체에 add를 하겠다. // 프레임에 부착
		btn1.addActionListener(this); // 이벤트 핸들러와 연결
		btn2.addActionListener(this); // 이벤트 핸들러와 연결
		btn3.addActionListener(this); // 이벤트 핸들러와 연결

		setSize(300, 400); // 프레임의 크기
		setVisible(true); // 버튼을 일일히 만들어 줘야한다.
	}

	public static void main(String[] args) {
		new pannelTest(); // 셍성자를 통해서 객체를 하나 만든다.
	}

	@Override
	public void actionPerformed(ActionEvent e) { // 이벤트 핸들러 // e : 인스턴스 변수
		String str = e.getActionCommand(); 		 // btn1,btn2,btn3 를 구분시켜줌
		// System.out.println(str); 			 // 그걸 출력
		if (str.equals("버튼1")) { 				 // 배경색 변경
			getContentPane().setBackground(Color.GREEN); // 컨테이너로 입장, 배경색 변경.

		} else if (str.equals("버튼2")) {
			getContentPane().setBackground(Color.BLUE);
		} else if (str.equals("버튼3")) { // else if라서 마지막은 "버튼3"을 넣지 않아도 된다.
			getContentPane().setBackground(Color.YELLOW);
		}

	}

}
728x90
반응형

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

JDBC연결  (0) 2021.04.19
ItemEvent  (0) 2021.04.19
swing2  (0) 2021.04.19
메소드 확인하는 곳  (0) 2021.04.19
for - each 문  (0) 2021.04.12
210407  (0) 2021.04.07