1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/de/uapcore/sudoku/ActionHandler.java Sat Jan 26 17:42:07 2013 +0100 1.3 @@ -0,0 +1,68 @@ 1.4 +package de.uapcore.sudoku; 1.5 + 1.6 +import java.awt.event.ActionEvent; 1.7 +import java.awt.event.ActionListener; 1.8 +import javax.swing.JOptionPane; 1.9 + 1.10 +/** 1.11 + * 1.12 + * @author mike 1.13 + */ 1.14 +public final class ActionHandler implements ActionListener { 1.15 + 1.16 + public static final String SAVE = "save"; 1.17 + public static final String CHECK = "check"; 1.18 + public static final String SOLVE = "solve"; 1.19 + 1.20 + private Field field; 1.21 + private Solver solver; 1.22 + 1.23 + public ActionHandler(Field f) { 1.24 + field = f; 1.25 + solver = new Solver(); 1.26 + } 1.27 + 1.28 + private void save() { 1.29 + if (solver.check(field)) { 1.30 + field.setAllCellsModified(false); 1.31 + // TODO: save to file 1.32 + } else { 1.33 + JOptionPane.showMessageDialog(field, 1.34 + "Das Feld kann mit Fehlern nicht gespeichert werden!", 1.35 + "Sudoku", JOptionPane.ERROR_MESSAGE); 1.36 + } 1.37 + } 1.38 + 1.39 + private void check() { 1.40 + if (solver.check(field)) { 1.41 + JOptionPane.showMessageDialog(field, "Überprüfung erfolgreich!", 1.42 + "Sudoku", JOptionPane.INFORMATION_MESSAGE); 1.43 + } else { 1.44 + JOptionPane.showMessageDialog(field, "Das Feld enthält Fehler!", 1.45 + "Sudoku", JOptionPane.WARNING_MESSAGE); 1.46 + } 1.47 + } 1.48 + 1.49 + private void solve() { 1.50 + // TODO: solve 1.51 + } 1.52 + 1.53 + @Override 1.54 + public void actionPerformed(ActionEvent e) { 1.55 + switch (e.getActionCommand()) { 1.56 + case "save": 1.57 + save(); 1.58 + break; 1.59 + case "check": 1.60 + check(); 1.61 + break; 1.62 + case "solve": 1.63 + solve(); 1.64 + break; 1.65 + default: 1.66 + throw new UnsupportedOperationException( 1.67 + "unknown action: "+e.getActionCommand()); 1.68 + } 1.69 + } 1.70 + 1.71 +}