⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculatorgui.java

📁 这个压缩文件里包含三个简易计算器代码
💻 JAVA
字号:
package com.Calculator1;

import java.awt.*; 
import java.awt.event.*; 
//import java.util.EventObject;
import com.Calculator1.Calculator1;

public class CalculatorGUI {
	private Frame f;
	private Panel p1, p2;
	private Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9;
	private Button bPoint, bAdd, bDec, bMul, bDiv, bCal;
	private TextField tf;
	private String s, op;
	private Calculator1 cal = new Calculator1();
	private boolean ifOp;

	public CalculatorGUI() {
		f = new Frame("Calculator");
		p1 = new Panel();
		p2 = new Panel();
		
		b0 = new Button("0");
		b1 = new Button("1");
		b2 = new Button("2");
		b3 = new Button("3");
		b4 = new Button("4");
		b5 = new Button("5");
		b6 = new Button("6");
		b7 = new Button("7");
		b8 = new Button("8");
		b9 = new Button("9");
		bPoint = new Button(".");
		bAdd = new Button("+");
		bDec = new Button("-");
		bMul = new Button("*");
		bDiv = new Button("/");
		bCal = new Button("=");

		tf = new TextField(25);
		tf.setEditable(false);

	}

	public void launchFrame() {
		f.setSize(220, 160);
		f.setResizable(false);
		f.addWindowListener(new myWindowListener());
		p1.setLayout(new FlowLayout(FlowLayout.CENTER));
		p1.add(tf);
		f.add(p1, BorderLayout.NORTH);
		p2.setLayout(new GridLayout(4, 4));
		
		b0.addActionListener(new setLabelText_ActionListener());
		b1.addActionListener(new setLabelText_ActionListener());
		b2.addActionListener(new setLabelText_ActionListener());
		b3.addActionListener(new setLabelText_ActionListener());
		b4.addActionListener(new setLabelText_ActionListener());
		b5.addActionListener(new setLabelText_ActionListener());
		b6.addActionListener(new setLabelText_ActionListener());
		b7.addActionListener(new setLabelText_ActionListener());
		b8.addActionListener(new setLabelText_ActionListener());
		b9.addActionListener(new setLabelText_ActionListener());
		bPoint.addActionListener(new setLabelText_ActionListener());
		bAdd.addActionListener(new setOperator_ActionListener());
		bDec.addActionListener(new setOperator_ActionListener());
		bMul.addActionListener(new setOperator_ActionListener());
		bDiv.addActionListener(new setOperator_ActionListener());
		bCal.addActionListener(new setOperator_ActionListener());

		p2.add(b7);
		p2.add(b8);
		p2.add(b9);
		p2.add(bAdd);
		p2.add(b4);
		p2.add(b5);
		p2.add(b6);
		p2.add(bDec);
		p2.add(b1);
		p2.add(b2);
		p2.add(b3);
		p2.add(bMul);
		p2.add(b0);
		p2.add(bPoint);
		p2.add(bCal);
		p2.add(bDiv);
		f.add(p2, BorderLayout.SOUTH);
		f.setVisible(true);
	}

	public void setTextFieldText_Temp() {
		if (tf.getText().length() < 15
				&& (tf.getText().indexOf(".") == -1 || !s.equals("."))) {
			tf.setText(tf.getText() + s);
		} else {
			tf.setText((tf.getText() + s).substring(0, 15));
		}
	}

	public void setTextFieldText() {
		if (ifOp) {
			ifOp = false;
			tf.setText("");
			setTextFieldText_Temp();
		} else {
			setTextFieldText_Temp();
		}
	}

	public static void main(String[] args) {
		CalculatorGUI calculator = new CalculatorGUI();
		calculator.launchFrame();
	}

	class myWindowListener extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
	}

	class setLabelText_ActionListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			Button tempB = (Button) e.getSource();
			s = tempB.getLabel();
			setTextFieldText();
		}
	}

	class setOperator_ActionListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			Button tempB = (Button) e.getSource();
			op = tempB.getLabel();
			if (op.equals("+")) {
				tf.setText(cal.opAdd(tf.getText()));
				ifOp = true;
			} else if (op.equals("-")) {
				tf.setText(cal.opSubtract(tf.getText()));
				ifOp = true;
			} else if (op.equals("*")) {
				tf.setText(cal.opMultiply(tf.getText()));
				ifOp = true;
			} else if (op.equals("/")) {
				tf.setText(cal.opDivide(tf.getText()));
				ifOp = true;
			} else if (op.equals("=")) {
				tf.setText(cal.opEquals(tf.getText()));
				ifOp = true;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -