📄 cal.java
字号:
import java.awt.*;
import java.awt.event.*;
public class cal implements ActionListener
{
Frame fm;
MenuBar mainMenu;
Menu editMenu,aboutMenu;
Panel panel1,panel2;
TextField tf1;
Button button[],buttonClear,buttonAdd,buttonSub,buttonMul,buttonDiv,buttonEqual;
float NumTmp=0,NumTmp1=0;
int key=0;
String TextTmp="";
public void init() // 初始化
{
Frame fm = new Frame("Simple Calculator");
fm.setSize(280,170);
fm.setLocation(300,240);
mainMenu = new MenuBar();
editMenu = new Menu("编辑");
aboutMenu = new Menu("关于");
mainMenu.add(editMenu);
editMenu.addActionListener(this);
mainMenu.add(aboutMenu);
aboutMenu.addActionListener(this);
fm.setMenuBar(mainMenu);
panel1 = new Panel();
panel2 = new Panel();
fm.add(panel1, BorderLayout.NORTH);
panel1.setLayout(new BorderLayout());
fm.add(panel2);
panel2.setLayout(new GridLayout(4,4));
fm.addWindowListener(new WinClose());
tf1 = new TextField(20);
tf1.setEditable(false);
tf1.setForeground(new Color(0,0,255));
button = new Button[10];
for(int i=0;i<=9;i++)
{
button[i] = new Button(Integer.toString(i));
button[i].setForeground(new Color(0, 0, 255));
}
buttonClear = new Button("C");
buttonAdd = new Button("+");
buttonSub = new Button("-");
buttonMul = new Button("*");
buttonDiv = new Button("/");
buttonEqual = new Button("=");
panel1.add(tf1);
panel2.add(button[7]);
panel2.add(button[8]);
panel2.add(button[9]);
panel2.add(buttonAdd);
panel2.add(button[4]);
panel2.add(button[5]);
panel2.add(button[6]);
panel2.add(buttonSub);
panel2.add(button[1]);
panel2.add(button[2]);
panel2.add(button[3]);
panel2.add(buttonMul);
panel2.add(button[0]);
panel2.add(buttonClear);
panel2.add(buttonEqual);
panel2.add(buttonDiv);
for(int i=0;i<=9;i++)
{
button[i].addActionListener(this);
}
buttonAdd.addActionListener(this);
buttonSub.addActionListener(this);
buttonMul.addActionListener(this);
buttonDiv.addActionListener(this);
buttonEqual.addActionListener(this);
buttonClear.addActionListener(this);
fm.setVisible(true);
fm.setResizable(false);
}
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<=9;i++)
{
if(e.getSource()==button[i])
{
tf1.setText(tf1.getText()+e.getActionCommand());
}
}
if(e.getSource()==buttonClear) //清除键操作
{
tf1.setText("");
NumTmp=NumTmp1=0;
}
if(e.getSource()==buttonAdd) // 加法键操作
{
key=1;
TextTmp=tf1.getText();
tf1.setText("");
NumTmp=Float.parseFloat(TextTmp);
}
if(e.getSource()==buttonSub) // 减法键操作
{
key=2;
TextTmp=tf1.getText();
tf1.setText("");
NumTmp=Float.parseFloat(TextTmp);
}
if(e.getSource()==buttonMul) // 乘法键操作
{
key=3;
TextTmp=tf1.getText();
tf1.setText("");
NumTmp=Float.parseFloat(TextTmp);
}
if(e.getSource()==buttonDiv) // 除法键操作
{
key=4;
TextTmp=tf1.getText();
tf1.setText("");
NumTmp=Float.parseFloat(TextTmp);
}
if(e.getSource()==buttonEqual) // 等号键操作
{
TextTmp=tf1.getText();
NumTmp1=Float.parseFloat(TextTmp);
tf1.setText("");
switch(key)
{
case 1:
tf1.setText(Float.toString(NumTmp+NumTmp1));
break;
case 2:
tf1.setText(Float.toString(NumTmp-NumTmp1));
break;
case 3:
tf1.setText(Float.toString(NumTmp*NumTmp1));
break;
case 4:
if(NumTmp1!=0)
tf1.setText(Float.toString(NumTmp/NumTmp1));
if(NumTmp1==0)
tf1.setText("error");
break;
default:
tf1.setText("error");
break;
}
}
}
public static void main(String args[])
{
(new cal()).init();
}
}
class WinClose extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -