📄 myawtcalculartor.java
字号:
package awt;
import java.awt.*;
import java.awt.event.*;
class CalculatorPanel extends Panel implements ActionListener{
private TextField display;
private double arg=0;
private String op="=";
private boolean start=true;
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);
}
}
class CalculatorFrame extends Frame{
public CalculatorFrame(){
setTitle("Calculator");
setSize(200,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
this.add(new CalculatorPanel());
}
}
public class MyAWTCalculartor{
public static void main(String args[]){
Frame frame=new CalculatorFrame();
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -