java

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ java ] in KIDS
글 쓴 이(By): char (★자유★)
날 짜 (Date): 1997년11월04일(화) 13시10분27초 ROK
제 목(Title): [프로젝트 1 소스입니다.] 늦었지만.. ^^


import java.awt.*;
import java.awt.event.*;

public class JCalc extends Frame {
    static double number = 0.0;
    char operator = ' ';

    Button button[][] = new Button[4][4], clear;
    Label label;    
    Panel buttons[] = new Panel[4];
    String[][] txt = {{"7", "8", "9", "/"},
                        {"4", "5", "6", "*"},
                        {"1", "2", "3", "-"},
                        {"0", "SQRT", "%", "="}};

    public JCalc(String title) {
        super(title);
        int i, j;

        this.setLayout(new GridLayout(6, 1));
                 
        label =  new Label("0", label.RIGHT);
//        label.setSize(200, 20);
        label.setForeground(Color.black);
        label.setBackground(Color.white);
        this.add(label);

        clear = new Button("C");
//        clear.setSize(15, 15);
        this.add(clear);

        for (i=0;i<=3;i++) {
            buttons[i] = new Panel();       
            buttons[i].setLayout(new GridLayout(0, 4));     
            for(j=0;j<=3;j++) {
                button[i][j] = new Button(txt[i][j]);
                buttons[i].add(button[i][j]);       
            }       
            this.add(buttons[i]);
        }               
    }

    public boolean action(Event event, Object obj) {
        if(event.target == clear) {
            label.setText("0");     
            return true;
        } 

        if(event.target == button[0][0]) {
            label.setText(((label.getText()=="0")?(""):(label.getText())) + 
'7')
;           
            return true;
        } 

        if(event.target == button[0][1]) {
            label.setText(((label.getText()=="0")?(""):(label.getText())) + 
'8')
;           
            return true;
        }

        if(event.target == button[0][2]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'9');
    
            return true;
        }

        if(event.target == button[0][3]) {
            number = Double.valueOf(label.getText()).doubleValue();
            label.setText("0");     
            operator = '/';          
            return true;            
        }

        if(event.target == button[1][0]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'4');
    
            return true;
        }

        if(event.target == button[1][1]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'5');
    
            return true;
        }

        if(event.target == button[1][2]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'6');
    
            return true;
        }

        if(event.target == button[1][3]) {
            number = Double.valueOf(label.getText()).doubleValue();
            label.setText("0");     
            operator = '*';          
            return true;            
        }

        if(event.target == button[2][0]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'1');
    
            return true;
        }

        if(event.target == button[2][1]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'2');
    
            return true;
        }

        if(event.target == button[2][2]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'3');
    
            return true;
        }

        if(event.target == button[2][3]) {
            number = Double.valueOf(label.getText()).doubleValue();
            label.setText("0");     
            operator = '-';          
            return true;            
        }

        if(event.target == button[3][0]) {
            
label.setText(((label.getText()=="0")?(""):(label.getText()))+'0');
    
            return true;
        }

        if(event.target == button[3][1]) {
            
label.setText(Double.toString(Math.sqrt(Double.valueOf(label.getText()).doubleV
alue())));       
            return true;
        }

        if(event.target == button[3][2]) {
            number = Double.valueOf(label.getText()).doubleValue();
            label.setText("0");     
            operator = '%';          
            return true;
        }

        if(event.target == button[3][3]) {
            switch (operator){
            case '/':
                
label.setText(Double.toString(number/Double.valueOf(label.getTex
t()).doubleValue()));
                return true;
            case '*':
                
label.setText(Double.toString(number*Double.valueOf(label.getTex
t()).doubleValue()));
                return true;
            case '-':
                
label.setText(Double.toString(number-Double.valueOf(label.getTex
t()).doubleValue()));
                return true;
            case '%':
                
label.setText(Double.toString(number%Double.valueOf(label.getTex
t()).doubleValue()));
                return true;
            }       
        }

        return false;
    }
    
public static void main(String[] argv) 
    {
        Frame f=new JCalc("JCalc");
        f.setSize(200, 200);
        f.show();
    }
}      

-------------------------------------------------------------------

소스가 지저분하더라도 양해 바랍니다.

잘 될지 모르겠군요. 오늘 아침에 만든거라...

참.. EXIT button은 못 만들었습니다. (게을러서...) 죄송하지만 직접 만드세요.

그럼 이만..
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.