forked from rick2785/JavaCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCalculatorController.java
More file actions
56 lines (34 loc) · 1.25 KB
/
CalculatorController.java
File metadata and controls
56 lines (34 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
// The Controller coordinates interactions
// between the View and Model
public class CalculatorController {
private CalculatorView theView;
private CalculatorModel theModel;
public CalculatorController(CalculatorView theView, CalculatorModel theModel) {
this.theView = theView;
this.theModel = theModel;
// Tell the View that when ever the calculate button
// is clicked to execute the actionPerformed method
// in the CalculateListener inner class
this.theView.addCalculateListener(new CalculateListener());
}
class CalculateListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
int firstNumber, secondNumber = 0;
// Surround interactions with the view with
// a try block in case numbers weren't
// properly entered
try{
firstNumber = theView.getFirstNumber();
secondNumber = theView.getSecondNumber();
theModel.addTwoNumbers(firstNumber, secondNumber);
theView.setCalcSolution(theModel.getCalculationValue());
}
catch(NumberFormatException ex){
System.out.println(ex);
theView.displayErrorMessage("You Need to Enter 2 Integers");
}
}
}
}