src/de/uapcore/sudoku/ActionHandler.java

changeset 2
5179eff8a9b6
child 3
ed931970b4ac
     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 +}

mercurial