首页>代码>Java swing简单Demo,计算器,界面计算分离>/CalculatorTest/src/calculator/Controller.java
package calculator;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Controller implements ActionListener {

	private CalculatorFrame frame = null;
	private double first = 0.0;
	private double second = 0.0;
	private String flag = "";
	// private Calculator calculator = new Calculator();
	private Calcu cal = new Calcu();

	public String getFlag() {
		return flag;
	}

	public void setFlag(String flag) {
		this.flag = flag;
	}

	public double getFirst() {
		return first;
	}

	public void setFirst(double first) {
		this.first = first;
	}

	public double getSecond() {
		return second;
	}

	public void setSecond(double second) {
		this.second = second;
	}

	private int num = 0;
	String str = "";

	public Controller(CalculatorFrame frame) {
		// TODO Auto-generated constructor stub
		this.frame = frame;
	}

	public double getTextContent() {
		String content = "";
		content = frame.getTextField().getText();
		double number = Double.parseDouble(content);
//		System.err.println(number);
		return number;
	}

	public void setForCal() {
		frame.getTextField().setText("");
	}

	public void setTextContent(int num) {
		// TODO Auto-generated method stub
		String content = frame.getTextField().getText();
		if (content.equals("0") || content == "0") {
			// System.err.println(true);
			frame.getTextField().setText(num + "");
		} else {
			str = content + num;
			frame.getTextField().setText(str);
		}
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if (e.getSource().equals(frame.getButton0())) {
			num = 0;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton1())) {
			num = 1;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton2())) {
			num = 2;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton3())) {
			num = 3;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton4())) {
			num = 4;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton5())) {
			num = 5;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton6())) {
			num = 6;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton7())) {
			num = 7;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton8())) {
			num = 8;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getButton9())) {
			num = 9;
			setTextContent(num);
		} else if (e.getSource().equals(frame.getAdd())) {
			setFirst(getTextContent());
			setFlag("+");
			setForCal();
		} else if (e.getSource().equals(frame.getSub())) {
			setFirst(getTextContent());
			setFlag("-");
			setForCal();
		} else if (e.getSource().equals(frame.getMulti())) {
			setFirst(getTextContent());
			setFlag("*");
			setForCal();
		} else if (e.getSource().equals(frame.getDivide())) {
			setFirst(getTextContent());
			setFlag("/");
			setForCal();
		} else if (e.getSource().equals(frame.getEqual())) {
			double result = 0.0;
			setSecond(getTextContent());
			if (getFlag().equals("+")) {
				// result = calculator.add(first, second);
				result = cal.sum(first, second);
				setFlag("");
			} else if (getFlag().equals("-")) {
				// result = calculator.sub(first, second);
				result = cal.sub(first, second);
				setFlag("");
			} else if (getFlag().equals("*")) {
				// result = calculator.multi(first, second);
				result = cal.mul(first, second);
				setFlag("");
			} else if (getFlag().equals("/")) {
				// result = calculator.div(first, second);
				result = cal.div(first, second, 5);
				setFlag("");
			} else {
				
			} 
			frame.getTextField().setText(result + "");
		} else if (e.getSource().equals(frame.getPoint())) {
			String content = frame.getTextField().getText();
			str = content + ".";
			frame.getTextField().setText(str);
		} else if (e.getSource().equals(frame.getCEButton())) {
			frame.getTextField().setText("0");
		}
	}

	public static void main(String[] args) {
		CalculatorFrame frame = new CalculatorFrame();
		Controller controller = new Controller(frame);
		controller.getTextContent();
	}
}
最近下载更多
Xiaoyang_7787  LV1 2023年3月3日
wadadd  LV7 2022年9月13日
风允婼  LV1 2021年6月20日
dengge123  LV13 2021年6月3日
荒唐的羊  LV27 2020年12月14日
VICTORYll  LV15 2020年12月10日
段朝洪  LV15 2020年11月21日
liangge2115  LV27 2020年10月23日
ma406805131  LV11 2020年6月18日
2869580060  LV10 2020年5月26日
最近浏览更多
clumsy191 2023年12月17日
暂无贡献等级
gk_xmj  LV1 2023年12月6日
fesfefe  LV13 2023年10月3日
lmml2307831267  LV2 2023年6月25日
微信网友_6533174388953088  LV1 2023年6月24日
ja12121  LV2 2023年6月17日
另类清晨  LV8 2023年5月15日
微信网友_6462813983494144  LV1 2023年5月5日
Xiaoyang_7787  LV1 2023年3月3日
Java开发工程师_初心  LV1 2022年12月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友