package CHAPTER10.Exams;
/*
 * 실전 프로젝트 3: 계산기 GUI 만들기
프로그램 작성 조건:

4x4 GridLayout으로 숫자(0-9) 버튼과 연산 버튼(+, -, *, /, =)을 배치하세요.
상단에는 JTextField를 추가하여 입력과 결과를 표시하세요.
실행 결과:

계산기 모양의 GUI가 표시되고, 버튼을 통해 계산 작업을 할 수 있습니다.
힌트:

GridLayout을 사용하여 버튼을 정렬하고, JPanel을 이용해 레이아웃을 분리하세요.
 */

import javax.swing.*;
import java.awt.*;

public class Project3Calculator extends JFrame {
    public Project3Calculator() {
        setTitle("실전 프로젝트 3: 계산기");
        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 입력 필드
        JTextField display = new JTextField();
        display.setHorizontalAlignment(JTextField.RIGHT);
        display.setEditable(false);
        add(display, BorderLayout.NORTH);

        // 버튼 패널
        //JPanel buttonPanel = new JPanel(new GridLayout(4, 4, 5, 5));
        JPanel buttonPanel = new JPanel(new GridLayout(4, 4));
        String[] buttons = {
            "7", "8", "9", "/",
            "4", "5", "6", "*",
            "1", "2", "3", "-",
            "0", "C", "=", "+"
        };

        for (String text : buttons) {
            buttonPanel.add(new JButton(text));
        }

        add(buttonPanel, BorderLayout.CENTER);
    }

    public static void main(String[] args) {
        Project3Calculator frame = new Project3Calculator();
        frame.setVisible(true);
    }
}
/*
 * 실전 프로젝트 3: 계산기 GUI 만들기
주요 로직:

GridLayout을 사용해 4x4 계산기 버튼 배치.
각 버튼은 크기가 동일하며 간격은 GridLayout의 hgap과 vgap으로 설정.
JTextField는 읽기 전용으로 설정해 사용자가 직접 수정하지 못하게 제한.
주의사항:

버튼의 순서는 배열을 통해 관리하므로, 버튼 추가 시 배열의 순서에 주의해야 합니다.
JTextField에 직접 입력을 허용하려면 setEditable(true)를 사용합니다.
 * */
