java GUI實現加法計算器

本文實例為大傢分享瞭java GUI實現加法計算器的具體代碼,供大傢參考,具體內容如下

1.寫出一個簡易計算器需要的組件
2.先出監聽事件類

public class TextCalculator01 {
    public static void main(String[] args) {
         new MyCalculator();
    }
}
//計算器類
class MyCalculator extends Frame{
    public MyCalculator() {
        //三個文本框
        TextField num1 = new TextField(10);
        TextField num2 = new TextField(10);
        TextField num3 = new TextField(20);
        //一個等號
        Button button = new Button("=");
        //實現鍵盤事件監聽
        button.addActionListener(new MyCalculatorListener(num1,num2,num3));
        //一個標簽
        Label label = new Label("+");
        //佈局
        setLayout(new FlowLayout());//流式佈局
        add(num1);
        add(label);
        add(num2);
        add(button);
        add(num3);
        setVisible(true);
        pack();

    }
}
//監聽器類
class MyCalculatorListener implements ActionListener{
    //獲得三個數據
    private TextField num1,num2,num3;
    public MyCalculatorListener(TextField num1,TextField num2,TextField num3) {
        this.num1= num1;
        this.num2 = num2;
        this.num3 = num3;
    }
  @Override
    public void actionPerformed(ActionEvent e) {
        //獲得兩個加數
        int n1 = Integer.parseInt(num1.getText());//轉換成int類型
        int n2 = Integer.parseInt(num2.getText());
        //前面兩個數相加,放入第三個框中
        num3.setText(""+(n1 + n2));
        //清除前兩個框的的內容
        num1.setText("");
        num2.setText("");
     }
}

按下等號按鍵,前兩個框的內容會被清除,第三個框輸出結果3

優化後的寫法(完全面向對象)

//簡易計算器
public class TextCalculator {
    public static void main(String[] args) {

        new Calculator().loadFrame();
    }
}
 class Calculator extends Frame{
    //屬性,三個文件框組件
     TextField num1,num2,num3;

     //方法
     public void loadFrame(){
         //需要三個文件框
         num1 = new TextField(10);
         num2 = new TextField(10);
         num3 = new TextField(20);
         Button button = new Button("=");
         Label label = new Label("+");
         button.addActionListener(new MyCalautor(this));
         //佈局
         setLayout(new FlowLayout());//流式佈局
         add(num1);
         add(label);
         add(num2);
         add(button);
         add(num3);
         setVisible(true);
         pack();

     }
 }
 //監聽事件
 class MyCalautor implements ActionListener{
   //獲得計算器這個類,在一個類中組合另一個類
     Calculator calculator = null;
     public MyCalautor(Calculator calculator) {

         this.calculator = calculator;
     }
     @Override
     public void actionPerformed(ActionEvent e) {
        //1.獲得前面兩個數字
         // 2.把兩個數的相加的結果輸入到第三個框
         //3.把前兩個框的內容清除
         int n1 = Integer.parseInt(calculator.num1.getText());
         int n2 = Integer.parseInt(calculator.num2.getText());
         calculator.num3.setText(""+(n1+n2));
         calculator.num1.setText("");
         calculator.num2.setText("");

     }
 }

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: