java

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ java ] in KIDS
글 쓴 이(By): juyup (이지훈)
날 짜 (Date): 1997년11월02일(일) 11시24분34초 ROK
제 목(Title): [프로젝트1소스]



import  java.awt.*;
import  java.applet.Applet;

public class Calculator extends Applet {
    Panel   WholeArea;
    TextField   display;
    Panel   bottom;
    Panel   func_panel;
    Panel   num_panel;
    Button  clear_but;
    Button  number[] = new Button[10];
    Button  function[] = new Button[6];
    float   last_num = 0;
    char    last_func = ' ';

    public boolean  action(Event evt, Object what){
        if(evt.target instanceof Button) {
          char  but_val = ((Button)evt.target).getLabel().charAt(0);
          switch(but_val){
            case '+':
            case '*':
            case '-':
            case '/': last_num = Float.valueOf(display.getText()).floatValue();
                    last_func = but_val;
                    display.setText("");
                     break;
            case 'C':
                    display.setText("0");
                    break;
            case 's':
                    float   curr_num = 0;
                    float   result = 0;
                    curr_num = Float.valueOf(display.getText()).floatValue();
                    result = curr_num * curr_num;
                    display.setText(String.valueOf(result));
                    break;
            case '=':   curr_num = 0;
                        result = 0;
                    curr_num = Float.valueOf(display.getText()).floatValue();
                    if(last_func != ' '){
                        switch(last_func){
                            case '+' : result = last_num + curr_num;
                                break;
                            case '*' : result = last_num * curr_num;
                                break;
                            case '-' : result = last_num - curr_num;
                                break;
                            case '/' : result = last_num / curr_num;
                                break;
                        }
                    last_num = result;
                    display.setText(String.valueOf(result));
                    }   break;
            default : if(display.getText() == "0")
                    display.setText("");
                    display.setText(display.getText() + but_val);
          }// end of switch
            return true;
        } // end of if
        return false;
    }
    public void init() {
           WholeArea = new Panel();
        WholeArea.setLayout(new GridLayout(3, 1));

        display = new TextField(10);
        WholeArea.add(display);

        clear_but = new Button("Clear");
        WholeArea.add(clear_but);

        bottom  = new Panel();
        bottom.setLayout(new BorderLayout());

        num_panel = new Panel();
        num_panel.setLayout(new GridLayout(4,3));

        for(int i=7; i>0; i=i-3) {
            for(int j=0; j<3; j++){
                number[i+j] = new Button((new String()).valueOf(i+j));
                num_panel.add(number[i+j]);
            }
        }
    number[0] = new Button((new String()).valueOf(0));
        num_panel.add(number[0]);

        function[4] = new Button("sqrt");
        num_panel.add(function[4]);

        function[5] = new Button("=");
        num_panel.add(function[5]);

        bottom.add("Center", num_panel);

        func_panel = new Panel();
        func_panel.setLayout(new GridLayout(4, 1));

        function[0] = new Button("+");
        func_panel.add(function[0]);
        function[1] = new Button("-");
        func_panel.add(function[1]);
        function[2] = new Button("*");
        func_panel.add(function[2]);
        function[3] = new Button("/");
        func_panel.add(function[3]);
        bottom.add("East", func_panel);
        WholeArea.add(bottom);
        add(WholeArea);
    }
}


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