java GUI実現加算計算機

3646 ワード

本論文の例では、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("");
     }
}

等号ボタンを押すと、前の2つのボックスの内容がクリアされ、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("");

     }
 }
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。