⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myawtcalculator.java

📁 《Java核心技术应用开发》电子工业出版社书籍源代码
💻 JAVA
字号:
package sample;
import java.awt.*;
import java.awt.event.*;
//import javax.swing.*;

class CalculatorPanel extends Panel
   implements ActionListener{
       
    public CalculatorPanel(){
        setLayout(new BorderLayout());
        display = new TextField("0");
        display.setEditable(false);
        add(display, "North");
      
        Panel p = new Panel();
        p.setLayout(new GridLayout(4, 4));
        String buttons = "789/456*123-0.=+";
        for (int i = 0; i < buttons.length(); i++) 
           addButton(p, buttons.substring(i, i + 1));      
        add(p, "Center");
     }

   private void addButton(Container c, String s){  
       Button b = new Button(s);
       c.add(b);
       b.addActionListener(this);
   }
   
   public void actionPerformed(ActionEvent evt) {  
       String s = evt.getActionCommand();
       if ('0' <= s.charAt(0) && s.charAt(0) <= '9' 
            || s.equals(".")){
                if (start) display.setText(s);
                else display.setText(display.getText() + s);
                start = false;
       }
      else{
          if (start){ 
              if (s.equals("-")) {
                  display.setText(s); start = false; 
              }
              else op = s;
          }
         else{
             double x = 
             Double.parseDouble(display.getText());
             calculate(x);
             op = s;
             start = true;
         }
      }
   }
   
   public void calculate(double n) {
       if (op.equals("+")) arg += n;
       else if (op.equals("-")) arg -= n;
       else if (op.equals("*")) arg *= n;
       else if (op.equals("/")) arg /= n;
       else if (op.equals("=")) arg = n;
       display.setText("" + arg);
   }
   
   private TextField display;
   private double arg = 0;
   private String op = "=";
   private boolean start = true;
}

class CalculatorFrame extends Frame { 
    public CalculatorFrame() {  
        setTitle("Calculator");
        setSize(200, 200);
        addWindowListener(new WindowAdapter(){  
            public void windowClosing(WindowEvent e){ 
                System.exit(0);
            }
         } );

        //Container contentPane = getContentPane();
        this.add(new CalculatorPanel());
   }
}

public class MyAWTCalculator {  
    public static void main(String[] args) { 
        Frame frame = new CalculatorFrame();
        frame.show();  
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -