2일차 - GUISample1

|
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

/* 프레임 => 보더레이아웃
 * 화면구성 => 생성자를 이용
 * public : 접근 제한자, 공개적인
 * class : 클래스. 객체를 생성하여 쓰기 위한 틀.
 * GUISample1 : 클래스 이름
 * extends : 상속
 * JFrame : 상속을 해줍니다.
 * implements : 인터페이스(사전에 미리 설계만 해 놓은 상태의 것.)
 * ActionListener : 동작 부분.  
 * 
 */
public class GUISample1 extends JFrame implements ActionListener { // JFrame 클래스상속, ActionListener 인터페이스 상속
//필드 영역 : 클래스 변수, 클래스 메소드
	private JButton redBtn;
	private JButton blueBtn;
	private JButton orangeBtn;
	private BorderLayout b1;
	private JFrame f;
	private JTextField tf;

	// 화면 구성
	public GUISample1() { // 생성자
		f = new JFrame("버튼 만들기 예제"); // 객체 생성과 제목 설정

		tf = new JTextField(20);

		JPanel p = new JPanel(); // 패널. 컴포넌트를 올려서 사용합니다. 눈에는 보이지 않습니다.

		redBtn = new JButton("빨강색"); // 버튼 만들기
		blueBtn = new JButton("파란색");
		orangeBtn = new JButton("주황색");

		b1 = new BorderLayout(); // 배치 관리자 설정
		setLayout(b1);

		JPanel p2 = new JPanel();
		p2.add(tf);
		f.add("South", p2);

		p.add(redBtn); // 패널에 버튼 붙이기
		p.add(blueBtn);
		p.add(orangeBtn);

		f.add("North", p); // "북쪽"에 프레임에 패널 붙이기(부착)

		redBtn.addActionListener(this); // 동작
		blueBtn.addActionListener(this);
		orangeBtn.addActionListener(this);

		f.setBounds(300, 300, 600, 500); // x y 좌표와 넓이, 높이 설정
		f.setVisible(true); // 화면 보이기. false로 하면 안보임.
	}

	public static void main(String[] args) {
		// GUISample1 gs1 = new GUISample1();
		new GUISample1();

	}

	@Override // 어노테이션 기법
	public void actionPerformed(ActionEvent e) { // 동작 구현 부분.
		String cmd = e.getActionCommand();

		if (cmd.equals("빨강색")) {
			redBtn.setBackground(Color.red);
			tf.setText(cmd + "이 선택되었습니다.");
		} else if (cmd.equals("파란색")) {
			blueBtn.setBackground(Color.blue);
			tf.setText(cmd + "이 선택되었습니다.");
		} else if (cmd.equals("주황색")) {
			orangeBtn.setBackground(Color.orange);
			tf.setText(cmd + "이 선택되었습니다.");

		}

	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

3일차 - 과제  (0) 2019.06.26
3일차  (0) 2019.06.26
2일차 - 과제  (0) 2019.06.26
2일차  (0) 2019.06.25
1일차  (0) 2019.06.24
And