JAVA

[동현] 계산기 만들기_1

양상추상츄 2021. 10. 22. 22:46

https://www.youtube.com/watch?v=Z_heBwSwPn0 

동현님 유튜브

*계산기 이미지 만들기

import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;

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

public class Calculator extends JFrame {
	
	private JTextField inputSpace;
	
	public Calculator() {
		setLayout(null);
		
		inputSpace = new JTextField();
		inputSpace.setEditable(false); // 편집 불가능하게 설정
		inputSpace.setBackground(Color.white);
		inputSpace.setHorizontalAlignment(JTextField.RIGHT);
		inputSpace.setFont(new Font("Arial", Font.BOLD, 50));
		inputSpace.setBounds(8, 10, 270, 70); //x, y 사이즈
		
		JPanel buttonPanel = new JPanel();
		buttonPanel.setLayout(new GridLayout(4, 4, 10, 10)); 
		//가로 칸수, 세로 칸수, 좌우 간격, 상하간격
		buttonPanel.setBounds(8, 90, 270, 235);
		
		String button_names[] = {"C", "/", "*", "=", "7", "8", "9", "+",
				"4", "5", "6", "-", "1", "2", "3", "0"};
		JButton buttons[] = new JButton[button_names.length];
		
		for(int i = 0; i<button_names.length; i++) {
			buttons[i] = new JButton(button_names[i]);
			buttons[i].setFont(new Font("Arial", Font.BOLD, 20));
			if (button_names[i] == "C") 
				buttons[i].setBackground(Color.RED);
			else if ((i >= 4 && i <= 6 )||(i >= 8 && i <= 10 )||(i >= 8 && i <= 10 )||
					(i >= 12 && i <= 14 )) buttons[i].setBackground(Color.BLACK);
			else buttons[i].setBackground(Color.GRAY);
			buttons[i].setForeground(Color.WHITE);
			buttons[i].setBorderPainted(false); // 테두리 없애기
			buttonPanel.add(buttons[i]); //버튼을 버튼패널에 추가
		}
		
		add(inputSpace);
		add(buttonPanel);//버튼패널
		
		setTitle("계산기");
		setVisible(true);
		setSize(300, 370);
		setLocationRelativeTo(null);
		setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	
	public static void main(String[] args) {
		new Calculator();

	}

}