Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CalculatorController {
- private CalculatorModel cm;
- private CalculatorFrame cv;
- private int operatorIndex = 0;
- public CalculatorController(CalculatorModel m, CalculatorFrame v) {
- cm = m;
- cv = v;
- }
- public void initController() {
- cv.getBtn0().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "0"));
- cv.getBtn1().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "1"));
- cv.getBtn2().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "2"));
- cv.getBtn3().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "3"));
- cv.getBtn4().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "4"));
- cv.getBtn5().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "5"));
- cv.getBtn6().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "6"));
- cv.getBtn7().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "7"));
- cv.getBtn8().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "8"));
- cv.getBtn9().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "9"));
- cv.getBtnDot().addActionListener(e -> cv.setTextFieldText(cv.getTextFieldText() + "."));
- cv.getBtnDiv().addActionListener(e -> {
- cm.calculate(newNumber());
- cm.setLastOperator("/");
- operatorIndex = cv.getTextFieldText().length();
- System.out.println("Model Result: " + cm.getResult()); //Why you giving 0?!?!
- System.out.println("Operator Index: " + operatorIndex);
- cv.setTextFieldText(cv.getTextFieldText() + "/");
- });
- cv.getBtnSub().addActionListener(e -> {
- cm.setLastOperator("-");
- operatorIndex = cv.getTextFieldText().length() - 1;
- });
- cv.getBtnAdd().addActionListener(e -> {
- cm.setLastOperator("+");
- operatorIndex = cv.getTextFieldText().length() - 1;
- });
- cv.getBtnMul().addActionListener(e -> {
- cm.setLastOperator("*");
- operatorIndex = cv.getTextFieldText().length() - 1;
- });
- cv.getBtnEqu().addActionListener(e -> {
- cm.calculate(newNumber());
- cm.setLastOperator("=");
- cv.setTextFieldText(cv.getTextFieldText() + "=" + cm.getResult());
- });
- }
- private double newNumber(){
- String s;
- if(operatorIndex != 0) {
- s = cv.getTextFieldText().substring(operatorIndex + 1, cv.getTextFieldText().length());
- System.out.println("Result: " + s);
- } else {
- s = cv.getTextFieldText().substring(0, cv.getTextFieldText().length());
- System.out.println("Result: " + s);
- }
- return Double.parseDouble(s);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement