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 LV15
2020年6月18日
2869580060 LV10
2020年5月26日
最近浏览更多
好烦好烦
9月4日
暂无贡献等级
微信网友_7008818781589504 LV1
5月25日
xlqb999 LV3
4月29日
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日