📄 calculator.java
字号:
import java.awt.*;
import java.awt.event.*;
//setup the windows
public class Calculator{
public static void main(String [] args){
int i=0,j=1,k=0,m=1,n=1;
Frame f=new Frame("计算器");
TextField t=new TextField("",20);
f.add(t,"North");
Panel p=new Panel();
f.add(p,"Center");
p.setLayout(new GridLayout(4,4));
Button [] buttons=new Button[16];
for(i=0;i<16;i++){
if(j%4==0&&k==0){buttons[i]=new Button("+");k++;m--;j++;}
else if(j%4==0&&k==1){buttons[i]=new Button("-");k++;m--;j++;}
else if(j%4==0&&k==2){buttons[i]=new Button("*");k++;m--;j++;}
else if(j%4==0&&k==3){buttons[i]=new Button("/");j++;}
else if(n==13){buttons[i]=new Button("C");m--;j++;}
else if(n==14){buttons[i]=new Button("0");m--;j++;}
else if(n==15){buttons[i]=new Button("=");m--;j++;}
else{buttons[i]=new Button(""+m);j++;}
m++;
n++;
}
buttons[3].setForeground(Color.red);
buttons[7].setForeground(Color.red);
buttons[11].setForeground(Color.red);
buttons[12].setForeground(Color.red);
buttons[14].setForeground(Color.red);
buttons[15].setForeground(Color.red);
for(i=0;i<buttons.length;i++)
p.add(buttons[i]);
Monitor_window m_window=new Monitor_window(f);
f.addWindowListener(m_window);
Monitor_buttons m_buttons0=new Monitor_buttons(buttons[0],t);
buttons[0].addActionListener(m_buttons0);
Monitor_buttons m_buttons1=new Monitor_buttons(buttons[1],t);
buttons[1].addActionListener(m_buttons1);
Monitor_buttons m_buttons2=new Monitor_buttons(buttons[2],t);
buttons[2].addActionListener(m_buttons2);
Monitor_buttons m_buttons4=new Monitor_buttons(buttons[4],t);
buttons[4].addActionListener(m_buttons4);
Monitor_buttons m_buttons5=new Monitor_buttons(buttons[5],t);
buttons[5].addActionListener(m_buttons5);
Monitor_buttons m_buttons6=new Monitor_buttons(buttons[6],t);
buttons[6].addActionListener(m_buttons6);
Monitor_buttons m_buttons8=new Monitor_buttons(buttons[8],t);
buttons[8].addActionListener(m_buttons8);
Monitor_buttons m_buttons9=new Monitor_buttons(buttons[9],t);
buttons[9].addActionListener(m_buttons9);
Monitor_buttons m_buttons10=new Monitor_buttons(buttons[10],t);
buttons[10].addActionListener(m_buttons10);
Monitor_buttons m_buttons13=new Monitor_buttons(buttons[13],t);
buttons[13].addActionListener(m_buttons13);
Monitor_buttons12 m_buttons12=new Monitor_buttons12(buttons[12],t);
buttons[12].addActionListener(m_buttons12);
Monitor_buttons3 m_buttons3=new Monitor_buttons3(buttons[3],t);
buttons[3].addActionListener(m_buttons3);
Monitor_buttons14 m_buttons14=new Monitor_buttons14(buttons[14],t);
buttons[14].addActionListener(m_buttons14);
Monitor_buttons7 m_buttons7=new Monitor_buttons7(buttons[7],t);
buttons[7].addActionListener(m_buttons7);
Monitor_buttons11 m_buttons11=new Monitor_buttons11(buttons[11],t);
buttons[11].addActionListener(m_buttons11);
Monitor_buttons15 m_buttons15=new Monitor_buttons15(buttons[15],t);
buttons[15].addActionListener(m_buttons15);
f.setSize(150,190);
f.setLocation(390,270);
f.setVisible(true);
}
}
//close the windows
class Monitor_window extends WindowAdapter{
Monitor_window(Frame f){
this.f=f;
}
private Frame f;
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
class Monitor_buttons implements ActionListener{
Monitor_buttons(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
if(BL.k==0)
t.setText(t.getText()+buttons.getLabel());
if(BL.k==2)
t.setText(t.getText()+buttons.getLabel());
if(BL.k==1){
BL.y=Integer.parseInt(t.getText());
t.setText(buttons.getLabel());
BL.k=2;
}
if(BL.k==3){
t.setText(buttons.getLabel());
BL.y=Integer.parseInt(t.getText());
BL.k=0;
}
}
}
class Monitor_buttons12 implements ActionListener{
Monitor_buttons12(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
t.setText("");
BL.k=0;
}
}
class Monitor_buttons14 implements ActionListener{
Monitor_buttons14(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
BL.z=Integer.parseInt(t.getText());
if(BL.x==1) t.setText(""+(BL.y+BL.z));
if(BL.x==2) t.setText(""+(BL.y-BL.z));
if(BL.x==3) t.setText(""+(BL.y*BL.z));
if(BL.x==4) t.setText(""+(BL.y/BL.z));
BL.k=3;
BL.x=0;
}
}
class Monitor_buttons3 implements ActionListener{
Monitor_buttons3(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
if(BL.k==0||BL.k==3){
BL.k=1;
}
if(BL.k==2){
BL.z=Integer.parseInt(t.getText());
if(BL.x==1) t.setText(""+(BL.y+BL.z));
if(BL.x==2) t.setText(""+(BL.y-BL.z));
if(BL.x==3) t.setText(""+(BL.y*BL.z));
if(BL.x==4) t.setText(""+(BL.y/BL.z));
BL.k=1;
}
BL.x=1;
}
}
class Monitor_buttons7 implements ActionListener{
Monitor_buttons7(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
if(BL.k==0||BL.k==3){
BL.k=1;
}
if(BL.k==2){
BL.z=Integer.parseInt(t.getText());
if(BL.x==1) t.setText(""+(BL.y+BL.z));
if(BL.x==2) t.setText(""+(BL.y-BL.z));
if(BL.x==3) t.setText(""+(BL.y*BL.z));
if(BL.x==4) t.setText(""+(BL.y/BL.z));
BL.k=1;
}
BL.x=2;
}
}
class Monitor_buttons11 implements ActionListener{
Monitor_buttons11(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
if(BL.k==0||BL.k==3){
BL.k=1;
}
if(BL.k==2){
BL.z=Integer.parseInt(t.getText());
if(BL.x==1) t.setText(""+(BL.y+BL.z));
if(BL.x==2) t.setText(""+(BL.y-BL.z));
if(BL.x==3) t.setText(""+(BL.y*BL.z));
if(BL.x==4) t.setText(""+(BL.y/BL.z));
BL.k=1;
}
BL.x=3;
}
}
class Monitor_buttons15 implements ActionListener{
Monitor_buttons15(Button buttons,TextField t){
this.buttons=buttons;
this.t=t;
}
private Button buttons;
private TextField t;
public void actionPerformed(ActionEvent e){
if(BL.k==0||BL.k==3){
BL.k=1;
}
if(BL.k==2){
BL.z=Integer.parseInt(t.getText());
if(BL.x==1) t.setText(""+(BL.y+BL.z));
if(BL.x==2) t.setText(""+(BL.y-BL.z));
if(BL.x==3) t.setText(""+(BL.y*BL.z));
if(BL.x==4) t.setText(""+(BL.y/BL.z));
BL.k=1;
}
BL.x=4;
}
}
class BL{
static int x=0,y=0,z=0,k=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -