package calculator; //包名,根据自己创建的项目而定
importjava.awt.Color;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;import javax.swing.JButton;//按键
import javax.swing.JFrame;//显示窗口
import javax.swing.JTextField;//文本框
importjavax.swing.WindowConstants;public class show extends JFrame { ///主类show继承父类JFrame
private String[] ajm= { "%","√","X^2","1/X","ce","c","<<
public JTextField t1=newJTextField();public JTextField t2=new JTextField();//创建两个文本款用于显示输入以及计算结果的情况
String str=""; //存储输入的值,显示在下面文本框t2
String str1=""; //存储所有点击按键的结果显示于上面的文本框t1
double b=0; //存储计算结果用于下一步的计算
char ch=0; //存储运算符号用于下一步的计算
public voidkuangjia() {
java.awt.Container c=getContentPane(); //容器
this.setTitle("计算器");//标题
this.setVisible(true);//表示可显示
setLayout(null);
setBounds(1000, 100,620, 900);//弹出宽高的大小,弹出的位置,左上角为00
for(int i=0;i
Ajm[i]=newJButton(ajm[i]);//建立按键
int begin=0;int bend=250;for(int i=0;i
{ int j=0;while(j<4)///搞定一行换一行
{
Ajm[i].setBounds(begin, bend,150, 100);//按键的大小
Ajm[i].setFont(new java.awt.Font("宋体", Font.BOLD, 45));//按键显示的字体属性
c.add(Ajm[i]);//加入容器
i++;j++;
begin+=150;//根据窗口大小调整按键的位置
}
begin=0;bend+=100;
};for(int i=8;i<19;i++)///设置数字按键的颜色为白
{if(i==11||i==15)
i++;
Ajm[i].setBackground(Color.white);
}
Ajm[21].setBackground(Color.white);//由于0号键位置特殊,所以单独设置
上下两个文本框的属性设置
setLayout(null);
t1.setFont(new java.awt.Font("宋体", Font.BOLD, 40));this.add(t1);
t1.setBounds(0,0,600,100);
t1.setEnabled(false); //只读
t1.setText("chengjunfeng");//显示内容
this.setLayout(null);this.add(t2);
t2.setBounds(0,99,600,155);
t2.setFont(new java.awt.Font("宋体", Font.BOLD, 60));
t2.setEnabled(false); //只读
t2.setText("First calculator");///建立监视器,表示当你按下这个按键将会执行什么
Ajm[0].addActionListener(new ajm0());//当0号键被按下,这个按键对应的就是%,将会执行ajm0这个类
Ajm[1].addActionListener(newajm1());
Ajm[2].addActionListener(newajm2());
Ajm[3].addActionListener(newajm3());
Ajm[4].addActionListener(newajm4());
Ajm[5].addActionListener(newajm5());
Ajm[6].addActionListener(newajm6());
Ajm[7].addActionListener(newajm7());
Ajm[8].addActionListener(newajm8());
Ajm[9].addActionListener(newajm9());
Ajm[