📄 calculator.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 + -