📄 calculatorframe.java
字号:
package sourcecodegenproj;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Event;
public class CalculatorFrame extends JFrame {
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JTextField jTextFiled = new JTextField();
JButton jButton0 = new JButton("0");
JButton jButton1 = new JButton("1");
JButton jButton2 = new JButton("2");
JButton jButton3 = new JButton("3");
JButton jButton4 = new JButton("4");
JButton jButton5 = new JButton("5");
JButton jButton6 = new JButton("6");
JButton jButton7 = new JButton("7");
JButton jButton8 = new JButton("8");
JButton jButton9 = new JButton("9");
JButton jButton10 = new JButton("+");
JButton jButton11 = new JButton("-");
JButton jButton12 = new JButton("*");
JButton jButton13 = new JButton("/");
JButton jButton14 = new JButton("=");
JButton jButton15 = new JButton("C");
Listener listener = new Listener();
String number1 = "";
String number2 = "";
String result = "0";
boolean number1OK = false;
boolean number2OK = false;
String operator = "";
public static void main(String args[]) {
CalculatorFrame cf = new CalculatorFrame();
}
public CalculatorFrame() {
showGUI();
jPanel1.updateUI();
}
public void showGUI() {
setVisible(true);
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// setResizable(false);
jPanel1 = (JPanel) getContentPane();
jPanel1.setLayout(new BorderLayout());
jTextFiled.setText(result);
jPanel1.add(jTextFiled, BorderLayout.NORTH);
jPanel1.add(jPanel2, BorderLayout.CENTER);
jPanel2.setLayout(new GridLayout(4, 4));
jButton0.addActionListener(listener);
jButton1.addActionListener(listener);
jButton2.addActionListener(listener);
jButton3.addActionListener(listener);
jButton4.addActionListener(listener);
jButton5.addActionListener(listener);
jButton6.addActionListener(listener);
jButton7.addActionListener(listener);
jButton8.addActionListener(listener);
jButton9.addActionListener(listener);
jButton10.addActionListener(listener);
jButton11.addActionListener(listener);
jButton12.addActionListener(listener);
jButton13.addActionListener(listener);
jButton14.addActionListener(listener);
jButton15.addActionListener(listener);
jPanel2.add(jButton1);
jPanel2.add(jButton2);
jPanel2.add(jButton3);
jPanel2.add(jButton4);
jPanel2.add(jButton5);
jPanel2.add(jButton6);
jPanel2.add(jButton7);
jPanel2.add(jButton8);
jPanel2.add(jButton9);
jPanel2.add(jButton0);
jPanel2.add(jButton10);
jPanel2.add(jButton11);
jPanel2.add(jButton12);
jPanel2.add(jButton13);
jPanel2.add(jButton14);
jPanel2.add(jButton15);
}
//Inner Class
class Listener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("0")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "0";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "0";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("1")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "1";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "1";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("2")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "2";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "2";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("3")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "3";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "3";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("4")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "4";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "4";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("5")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "5";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "5";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("6")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "6";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "6";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("7")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "7";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "7";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("8")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "8";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "8";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("9")) {
if (number1OK == false) {
if (number1.length() < 9) {
number1 += "9";
jTextFiled.setText(number1);
}
} else {
if (number2.length() < 9) {
number2 += "9";
jTextFiled.setText(number2);
number2OK = true;
}
}
}
if (e.getActionCommand().equals("+")) {
operator = "+";
if (number1OK == false)
number1OK = true;
}
if (e.getActionCommand().equals("-")) {
operator = "-";
if (number1OK == false)
number1OK = true;
}
if (e.getActionCommand().equals("*")) {
operator = "*";
if (number1OK == false)
number1OK = true;
}
if (e.getActionCommand().equals("/")) {
operator = "/";
if (number1OK == false)
number1OK = true;
}
if (e.getActionCommand().equals("=")) {
if (number1OK && number2OK) {
System.out.println(number1);
System.out.println(number2);
try {
float n1 = Float.parseFloat(number1);
float n2 = Float.parseFloat(number2);
if (operator.equals("+")) {
result = String.valueOf(n1 + n2);
jTextFiled.setText(result);
System.out.println(result);
}
else if (operator.equals("-")) {
result = String.valueOf(n1 - n2);
jTextFiled.setText(result);
System.out.println(result);
}
else if (operator.equals("*")) {
result = String.valueOf(n1 * n2);
jTextFiled.setText(result);
System.out.println(result);
}
else if (operator.equals("/")) {
result = String.valueOf(n1 / n2);
jTextFiled.setText(result);
System.out.println(result);
}
number1 = "";
number2 = "";
number2OK = false;
number2OK = false;
} catch (Exception ex) {
System.out.println(ex.getMessage());
number2 = "";
result = "0";
number2OK = false;
number2OK = false;
operator = "";
jTextFiled.setText("0");
}
number1 = "";
number2 = "";
result = "0";
number2OK = false;
number2OK = false;
operator = "";
}
}
if (e.getActionCommand().equals("C")) {
number1 = "";
number2 = "";
result = "0";
number2OK = false;
number2OK = false;
operator = "";
jTextFiled.setText("0");
}
if (e.getActionCommand().equals(".")) {
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -