응용 SoftWare/JAVA

[JFrame] 계산기 만들기

Hyun CHO 2016. 12. 7. 17:18

방법 1.

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;


public class Calculator extends JFrame {

JPanel jp1 = new JPanel();

JPanel jp2 = new JPanel();

JButton but1 = new JButton("Clear");

JButton but2 = new JButton("BS");

JButton but3 = new JButton("End");

JButton but4 = new JButton(" ");

JPanel jp3 = new JPanel();

JButton but5 = new JButton(" 7 ");

JButton but6 = new JButton(" 8 ");

JButton but7 = new JButton(" 9 ");

JButton but8 = new JButton(" + ");

JPanel jp4 = new JPanel();

JButton but9 = new JButton(" 4 ");

JButton but10 = new JButton(" 5 ");

JButton but11 = new JButton(" 6 ");

JButton but12 = new JButton(" - ");

JPanel jp5 = new JPanel();

JButton but13 = new JButton(" 1 ");

JButton but14 = new JButton(" 2 ");

JButton but15 = new JButton(" 3 ");

JButton but16 = new JButton(" * ");

JPanel jp6 = new JPanel();

JButton but17 = new JButton(" 0 ");

JButton but18 = new JButton(" . ");

JButton but19 = new JButton(" = ");

JButton but20 = new JButton(" / ");

JLabel jl = new JLabel("0.0");

public Calculator() {

super("계산기");

super.setLayout(new GridLayout(6, 4, 0, 0));

setSize(250, 300);

setVisible(true);

// TODO Auto-generated constructor stub

jp1.add(jl);

super.add(jp1);

jp2.add(but1); jp2.add(but2); jp2.add(but3); jp2.add(but4);

super.add(jp2);

jp3.add(but5); jp3.add(but6); jp3.add(but7); jp3.add(but8);

super.add(jp3);

jp4.add(but9); jp4.add(but10); jp4.add(but11); jp4.add(but12);

super.add(jp4);

jp5.add(but13); jp5.add(but14); jp5.add(but15); jp5.add(but16);

super.add(jp5);

jp6.add(but17); jp6.add(but18); jp6.add(but19); jp6.add(but20);

super.add(jp6);

}


public static void main(String[] args) {

// TODO Auto-generated method stub

Calculator cal = new Calculator();


}


}


=====================================================================

방법 2.

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;


public class CalculatorT implements ActionListener {

JFrame jf = new JFrame("계산기");

JLabel jl = new JLabel("0.0", JLabel.RIGHT);

//버튼틀

JPanel jp = new JPanel();

String butValue[] = {"Clear","BackSpace","End","","7","8","9","+","4","5","6","-",

"1","2","3","*","0",".","=","/"};

JButton jb[] = new JButton[20];

public CalculatorT() {

//라벨 추가

jf.add(jl, "North"); //BorderLayout.NORTH

//버튼

jp.setLayout(new GridLayout(5, 4));

for(int i=0; i<butValue.length; i++){ //버튼 생성, 패널 추가

jb[i] = new JButton(butValue[i]);

jp.add(jb[i]); //패널추가

jb[i].addActionListener(this); //이벤트 등록

}

jf.add(jp, BorderLayout.CENTER);

jf.setSize(400, 400);

jf.setVisible(true);

}

//오버라이딩

public void actionPerformed(ActionEvent ae){}


public static void main(String[] args) {

new CalculatorT();


}


}