방법 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();
}
}
'응용 SoftWare > JAVA' 카테고리의 다른 글
JComboBox (0) | 2016.12.09 |
---|---|
Vector (0) | 2016.12.09 |
[JFrame] 창을 만들고 5초 뒤에 자동으로 닫기 (0) | 2016.12.07 |
[예외처리] 예외 클래스 만들기 (0) | 2016.12.05 |
[예외처리] 예외 발생시키기 (0) | 2016.12.05 |