1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package net.curre.prefcount.event;
16
17 import java.awt.event.ActionEvent;
18 import java.awt.event.ActionListener;
19 import java.awt.event.KeyEvent;
20 import java.awt.event.KeyListener;
21 import javax.swing.*;
22
23 import net.curre.prefcount.PrefCountRegistry;
24 import net.curre.prefcount.gui.MainWindow;
25 import net.curre.prefcount.gui.LastInputPanel;
26 import net.curre.prefcount.service.ResultService;
27
28
29
30
31
32
33
34
35
36
37
38 public class ComputeButtonActionListener extends AbstractAction
39 implements ActionListener, KeyListener {
40
41
42 public ComputeButtonActionListener() {
43 }
44
45
46
47
48
49
50 public void actionPerformed(ActionEvent actionEvent) {
51 computeResultsHelper();
52 }
53
54
55 public void keyTyped(KeyEvent keyEvent) {
56 }
57
58
59 public void keyPressed(KeyEvent keyEvent) {
60 }
61
62
63 public void keyReleased(KeyEvent keyEvent) {
64 if (KeyEvent.VK_ENTER == keyEvent.getKeyCode()) {
65 computeResultsHelper();
66 }
67 }
68
69
70
71
72 private void computeResultsHelper() {
73 LastInputPanel panel = PrefCountRegistry.getInstance().getLastInputPanel();
74 if (panel.validateFields()) {
75 panel.doOnLeave();
76 MainWindow mainWindow = PrefCountRegistry.getInstance().getMainWindow();
77 ResultService.generateFinalResults(mainWindow.playerResults);
78 mainWindow.repaint();
79 }
80 }
81
82 }