📄 calculatorapplet.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class CalculatorApplet extends Applet implements ActionListener
{
// 弹出的窗口
private Frame calcFrame = new CalculatorFrame();
public void init()
{
// 弹出的按键
Button calcButton = new Button("Calculator");
calcButton.addActionListener(this);
add(calcButton);
}
public void actionPerformed(ActionEvent evt)
{
// 弹出窗口如果没有被显示,则显示它,否则关闭它
if (calcFrame.isVisible())
calcFrame.setVisible(false);
else
calcFrame.setVisible(true);
}
}
class CalculatorFrame extends Frame implements ActionListener
{
private TextField display = null;
private double arg1 = 0;
private StringBuffer arg2 = new StringBuffer();
private char op = '=';
public CalculatorFrame()
{
setTitle("Calculator");
setSize(200, 200);
setLayout(new BorderLayout());
// 输出窗口
display = new TextField("0");
display.setEditable(false);
add(display, "North");
// 数字按键盘
Panel keypad = new Panel();
keypad.setLayout(new GridLayout(4, 4));
// 添加数字和运算符按键
String keys = "789/456*123-0.=+";
for (int i = 0; i < keys.length(); i++)
{
Button btn = new Button(keys.substring(i, i+1));
keypad.add(btn);
// 为按键添加事件监听器
btn.addActionListener(this);
}
add(keypad, "Center");
}
public void actionPerformed(ActionEvent evt)
{
// 响应按键,如果是数字则连接到StringBuffer中,
// 如果是运算符则进行运算。
String key = evt.getActionCommand();
char c = key.charAt(0);
if ((c >= '0' && c <= '9') || c == '.' ||
(c == '-' && arg2.length() == 0))
{
arg2.append(c);
display.setText(arg2.toString());
}
else
{
calculate(Double.parseDouble(arg2.toString()));
op = c;
arg2.setLength(0);
if (c == '=')
arg2.append(arg1);
}
}
public void calculate(double arg2)
{
// 计算
switch (op)
{
case '+': arg1 += arg2;
break;
case '-': arg1 -= arg2;
break;
case '*': arg1 *= arg2;
break;
case '/': arg1 /= arg2;
break;
case '=': arg1 = arg2;
break;
default: break;
}
display.setText(""+arg1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -