package sdaf;

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
 
 
public class sacas extends JFrame { 
  
 JLabel aValuelabel;  //계선결과출력부분
   
public static void main(String[] args) { 
        new sacas(); 
    } 
String presentValue;   // 현재입력중인숫자
int aValue;   // 중간계산 결과
char last;   // 이전 선택한 연산자
JButton plus, minus, multi, div, equal, clear ; // 연산버튼 

 
    public sacas() { 
        super("자바 텀프로젝트 계산기"); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       
        JButton bNum[] = new JButton[10]; // 숫자버튼  컴퍼넌트를생성
      
        aValuelabel = new JLabel("0", JLabel.RIGHT); 
        add(aValuelabel, BorderLayout.NORTH);  // 계산창을보여준다

        JPanel p = new JPanel(new GridLayout(4,4,10,10));  // 열,행,열사이의거리,행사이의거리
        add(p, BorderLayout.CENTER);  //계산기의몸체ㄹㄹ보여준
       
        plus = new JButton("+"); 
        minus = new JButton("-"); 
        multi = new JButton("*"); 
        div = new JButton("/");
        equal = new JButton("="); 
        clear = new JButton("C"); 
 
        setSize(500,500);
        setVisible(true);
      
          int i; 
        for( i=0;i<bNum.length;i++ ) { 
           bNum[i] = new JButton(Integer.toString(i));  //숫자를 문자열로바꿈 공간생성
        } 
 
        p.add(bNum[7]); p.add(bNum[8]); p.add(bNum[9]); p.add(plus); 
       p.add(bNum[4]); p.add(bNum[5]); p.add(bNum[6]); p.add(minus); 
        p.add(bNum[1]); p.add(bNum[2]); p.add(bNum[3]); p.add(multi); 
        p.add(bNum[0]); p.add(equal); p.add(clear); p.add(div);
 
       Calculator a = new Calculator();  //위에 이벤트리스너들을 연결
       for( i=0;i<bNum.length;i++ ) { 
            bNum[i].addActionListener(a); 
        } 
 
        lator b = new lator(); 
        plus.addActionListener(b); 
        minus.addActionListener(b); 
        multi.addActionListener(b); 
        div.addActionListener(b); 
       equal.addActionListener(b); 
       clear.addActionListener(b); 
    

     setVisible(true); 
    } 

 
    // 숫자버튼 이벤트 처리
    class Calculator implements ActionListener {  //칼큐레이터클래스는  액션리스너 인터페이스를 구현한다.
       public void actionPerformed(ActionEvent e) {  //버튼클릭시발동되는메소드
            String s = e.getActionCommand();  //클릭한버튼의레이블
            if(presentValue == null) { 
                if( s.equals("0")) return ; // 첫자리가 0이면 무시
              else presentValue = new String();  //첫자리이면 스트링 객체생성
            } 
            presentValue += s;  // 두번째 이후이면 누른 숫자 덧붙이기
            aValuelabel.setText(presentValue);  //현재숫자화면에 표시
       } 
    } 
 
    // 기타버튼의 이벤트처
    class lator implements ActionListener { 
        public void actionPerformed(ActionEvent e) { 
           JButton source = (JButton)e.getSource(); 
            int value; 
 // 지우기
            if( source == clear ) { 
             aValuelabel.setText("0");  //화면및 각변수 초기화
                presentValue = null;  //String 타입의 현재 숫자
                last = 0;  // char 타입의 마지막 연산자
               aValue = 0;  // int 타입의 중간계산 결과
               return ; 
            } 
 
           if( presentValue != null ) {  // 현재값과 널값이 같지않다면 값을출력
               value = Integer.parseInt(presentValue); 
                switch(last) { 
                    case '+': aValue += value; break; 
                    case '-': aValue -= value; break; 
                    case '*': aValue *= value; break; 
                   case '/': aValue /= value; break; 
                    default : aValue = value; break; 
              } 
                aValuelabel.setText(Integer.toString(aValue)); 
            } 
           presentValue = null; 
            last = source.getText().charAt(0); 
        } 
    } 

 

 

결과값창이너무작아서 그런데 결과값창을 크게하려면 어떻게해야하나요?

 

저 사진에서 결과값은 0이자나요 저기창을 크게어떻게해야하나요?

 

 

그림과 글에있는코드에 클래스가 다른데 그거는 신경안쓰셔도될꺼같습니다.