panel3.add(button[8]);
button[8].addActionListener(this); panel3.add(button[9]);
button[9].addActionListener(this); panel3.add(buttonDiv);
buttonDiv.addActionListener(this); panel3.add(buttonSin);
buttonSin.addActionListener(this); panel3.add(buttonPI);
buttonPI.addActionListener(this); panel3.add(buttonMR);
buttonMR.addActionListener(this); panel3.add(button[4]);
button[4].addActionListener(this); panel3.add(button[5]);
button[5].addActionListener(this); panel3.add(button[6]);
button[6].addActionListener(this); panel3.add(buttonMul);
buttonMul.addActionListener(this); panel3.add(buttonCos);
buttonCos.addActionListener(this); panel3.add(buttonDS);
buttonDS.addActionListener(this); panel3.add(buttonMS);
buttonMS.addActionListener(this); panel3.add(button[1]);
button[1].addActionListener(this); panel3.add(button[2]);
button[2].addActionListener(this); panel3.add(button[3]);
button[3].addActionListener(this); panel3.add(buttonSub);
buttonSub.addActionListener(this); panel3.add(buttonTan);
buttonTan.addActionListener(this); panel3.add(buttonX2);
buttonX2.addActionListener(this); panel3.add(buttonMAdd);
buttonMAdd.addActionListener(this); panel3.add(button[0]);
button[0].addActionListener(this); panel3.add(buttonAddAndSub);
buttonAddAndSub.addActionListener(this);
后
}
panel3.add(buttonDot);
buttonDot.addActionListener(this); panel3.add(buttonAdd);
buttonAdd.addActionListener(this); panel3.add(buttonEqual);
buttonEqual.addActionListener(this); panel3.add(buttonSqrt);
buttonSqrt.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack();
frame.setVisible(true);
// 设置各个按钮行为
public void actionPerformed(ActionEvent event) { Object temp = event.getSource(); try {
// 如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之for (int i = 0; i <= 9; i++)
if (temp == button[i] && clickable == true) { if(resultIndicate) {
textAnswer.setText(\); clickable = true;
textAnswer.setText(textAnswer.getText() +
Integer.toString(i)); }
else {
textAnswer.setText(textAnswer.getText() + Integer.toString(i)); } }
// 按下′.′按钮时,判断当前文本框内字符串中含不含′.′,如果已含,则不允许再插入′.′
if (temp == buttonDot && clickable == true) { boolean isDot = false;
if (textAnswer.getText().length() == 0) { //isDot = true; isDot = false; dotFlag = true; }
for (int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) { isDot = true; break;
}
if (isDot == false) { if (dotFlag)
textAnswer.setText('0' + \); else
textAnswer.setText(textAnswer.getText() + \); } }
if ((temp == buttonAdd || temp == buttonSub || temp == buttonMul ||
temp == buttonDiv) && clickable == true) { // ′+′操作
if (temp == buttonAdd) { switch (prekey) { case 0:
answerd +=
Double.parseDouble(textAnswer.getText()); break; case 1:
answerd -=
Double.parseDouble(textAnswer.getText()); break; case 2:
answerd *=
Double.parseDouble(textAnswer.getText()); break; case 3: if (Double.parseDouble(textAnswer.getText()) == 0) {
textAnswer.setText(\除数不能为零\); clickable = false; } else
answerd /=
Double.parseDouble(textAnswer.getText()); break; default:
answerd =
Double.parseDouble(textAnswer.getText()); }
textAnswer.setText(\); prekey = key = 0; }
// ′-′操作
if (temp == buttonSub) { switch (prekey) { case 0:
answerd +=
Double.parseDouble(textAnswer.getText()); break; case 1:
answerd -=
Double.parseDouble(textAnswer.getText()); break; case 2:
answerd *=
Double.parseDouble(textAnswer.getText()); break; case 3: if (Double.parseDouble(textAnswer.getText()) == 0) {
textAnswer.setText(\除数不能为零\); clickable = false; } else
answerd /=
Double.parseDouble(textAnswer.getText()); break; default:
answerd =
Double.parseDouble(textAnswer.getText()); }
textAnswer.setText(\); prekey = key = 1; }
// ′*′操作
if (temp == buttonMul) { switch (prekey) { case 0:
answerd +=
Double.parseDouble(textAnswer.getText()); break; case 1:
answerd -=
Double.parseDouble(textAnswer.getText()); break; case 2:
answerd *=
Double.parseDouble(textAnswer.getText()); break; case 3: if (Double.parseDouble(textAnswer.getText()) == 0) {
textAnswer.setText(\除数不能为零\); clickable = false; } else
answerd /=
Double.parseDouble(textAnswer.getText()); break; default:
answerd =
Double.parseDouble(textAnswer.getText()); }
textAnswer.setText(\); prekey = key = 2; }
// ′/′操作
if (temp == buttonDiv) { switch (prekey) { case 0:
answerd +=
Double.parseDouble(textAnswer.getText()); break; case 1:
answerd -=
Double.parseDouble(textAnswer.getText()); break; case 2:
answerd *=
Double.parseDouble(textAnswer.getText()); break; case 3: if (Double.parseDouble(textAnswer.getText()) == 0) {
textAnswer.setText(\除数不能为零\); clickable = false; } else
answerd /=
Double.parseDouble(textAnswer.getText()); break;