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

📄 calculator.java

📁 这个是学习网络编程的好好文档! 里面有一些老师发给的学习jsp的课件!
💻 JAVA
字号:
/* Create by 肖磊, 2004-12-3
 * 实现了一个简单的计算器.
 */
package calculator;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator extends JFrame
{
  //--构造方法--
  public Calculator()
  {
    super("Calculator");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setResizable(false);
    initComponents();
    this.setSize(300,260);
    this.setVisible(true);
  } // ends of Calculator()
  
  //--生成界面组件--
  private void initComponents()
  {
    // 显示面板 ----------------------------------------------------------------
    dispPanel = new JPanel(new BorderLayout());
    screen = new JTextField("0.");
    screen.setEditable(false);
    screen.setBackground(Color.WHITE);
    screen.setHorizontalAlignment(JTextField.RIGHT);
    dispPanel.add(screen,BorderLayout.CENTER);
    
    // 包含"退格","CE","C"的面板 -----------------------------------------------
    editButtons = new JPanel(new GridLayout(1,0));
    backButton = new JButton("backspace");
    backButton.setForeground(Color.RED);
    //-backButton.addActionListener();
    ceButton = new JButton("CE");
    ceButton.setForeground(Color.RED);
    //-ceButton.addActionListener();
    clearButton = new JButton("C");
    clearButton.setForeground(Color.RED);
    //-clearButton.addActionListener();
    editButtons.add(backButton);
    editButtons.add(ceButton);
    editButtons.add(clearButton);
    
    // 数字按钮面板-------------------------------------------------------------
    operButtons = new JPanel(new GridLayout(4,5));
    nButtons = new NumberButton[10];
    for(int i=0;i<=9;i++)
    {
      nButtons[i] = new NumberButton(i);
      //-nButtons[i].addActionListener();
    }
    oButtons = new OperatorButton[4];
    for(int i=0;i<=3;i++)
    {
      oButtons[i] = new OperatorButton(signs[i]);
      //oButtons[i].addActionListener();
    }
    signButton = new JButton("+/-");
    signButton.setForeground(Color.BLUE);
    //signButton.addActionListener();
    dotButton = new JButton(".");
    dotButton.setForeground(Color.BLUE);
    //dotButton.addActionListener();
    
    sqrtButton = new JButton("sqrt");
    sqrtButton.setForeground(Color.BLUE);
    //sqrtButton.addActionListener();
    percButton = new JButton("%");
    percButton.setForeground(Color.BLUE);
    //percButton.addActionListener();
    inveButton = new JButton("1/x");
    inveButton.setForeground(Color.BLUE);
    //inveButton.addActionListener();
    compButton = new JButton("=");
    compButton.setForeground(Color.RED);
    //sqrtButton.addActionListener();
    
    // line 1 in panel
    operButtons.add(nButtons[7]);
    operButtons.add(nButtons[8]);
    operButtons.add(nButtons[9]);
    operButtons.add(oButtons[0]);
    operButtons.add(sqrtButton);
    // line 2 in panel
    operButtons.add(nButtons[4]);
    operButtons.add(nButtons[5]);
    operButtons.add(nButtons[6]);
    operButtons.add(oButtons[1]);
    operButtons.add(percButton);
    // line 3 in panel
    operButtons.add(nButtons[1]);
    operButtons.add(nButtons[2]);
    operButtons.add(nButtons[3]);
    operButtons.add(oButtons[2]);
    operButtons.add(inveButton);
    // line 4 in panel
    operButtons.add(nButtons[0]);
    operButtons.add(signButton);
    operButtons.add(dotButton);
    operButtons.add(oButtons[3]);
    operButtons.add(compButton);
    
    //--------------------------------------------------------------------------
    btnPanel = new JPanel(new BorderLayout());
    btnPanel.add(editButtons,BorderLayout.NORTH);
    btnPanel.add(operButtons,BorderLayout.CENTER);
    
    this.getContentPane().add(dispPanel,BorderLayout.NORTH);
    this.getContentPane().add(btnPanel,BorderLayout.CENTER);
    //--------------------------------------------------------------------------
  } //ends of initComponents()
  
  //--以下是界面组件声明--------------------------------------------------------
  private JPanel dispPanel;    //放置显示标签的面板
  private JPanel btnPanel;     //放置按钮的面板
  private JPanel editButtons;
  private JPanel operButtons;
  
  private JTextField screen;          //显示结果的标签
  
  private JButton backButton;
  private JButton ceButton;
  private JButton clearButton;
  
  private NumberButton[] nButtons;    //数字按钮数组
  private OperatorButton[] oButtons;  //运算符按钮数组
  private JButton dotButton;          //.
  private JButton signButton;         //+/-
  
  private JButton sqrtButton;   // sqrt
  private JButton percButton;   // %
  private JButton inveButton;   // 1/x
  private JButton compButton;   // =
  
  //-
  private final String[] signs = {"+","-","*","/"};
}

⌨️ 快捷键说明

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