즐거운프로그래밍

[자바] 컴포넌트의 배치(전자계산기 만들기)

수수께끼 고양이 2023. 10. 24. 13:21
728x90
반응형

 

BoderLayout 관리자와 GridLayout 관리자를 이용하여 전자계산기를 만듭니다.

 

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main {
    public static void main(String[] args) {
        Frame mainFrame = new Frame("전자계산기");
        mainFrame.setBounds(100,100,200,250);

        mainFrame.setLayout(new BorderLayout());

        TextField display = new TextField(20);
        display.setText("0");
        display.setEditable(false);

        Panel displayPane = new Panel();
        displayPane.setBounds(0,30,200,40);
        displayPane.add(display);

        ButtonPane buttonPane = new ButtonPane();
        buttonPane.setBounds(0,70,200,180);

        mainFrame.add("North", displayPane);
        mainFrame.add("Center", buttonPane);

        mainFrame.setVisible(true);

        mainFrame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(0);
            }
        });
    }
}

class ButtonPane extends Panel {
    private Button[] butt = null;
    private final String[] buttName = {
            "7","8","9","/",
            "4","5","6","7",
            "1","2","3","-",
            "0","c","=","+" };

    public ButtonPane() {
        setLayout(new GridLayout(4,4));

        butt = new Button[buttName.length];

        for(int i=0; i<butt.length; i++) {
            butt[i] = new Button(buttName[i]);
            add(butt[i]);
        }
    }
}

 

 

728x90
반응형