Sat, 26 Jan 2013 18:43:49 +0100
added NEW function
1.1 --- a/src/de/uapcore/sudoku/ActionHandler.java Sat Jan 26 18:38:12 2013 +0100 1.2 +++ b/src/de/uapcore/sudoku/ActionHandler.java Sat Jan 26 18:43:49 2013 +0100 1.3 @@ -80,10 +80,35 @@ 1.4 private void solve() { 1.5 // TODO: solve 1.6 } 1.7 + 1.8 + private boolean saveUnsaved() { 1.9 + boolean proceed = false; 1.10 + if (field.isAnyCellModified()) { 1.11 + int result = JOptionPane.showConfirmDialog(field, 1.12 + "Das Feld ist ungespeichert - jetzt speichern?", 1.13 + "Sudoku", JOptionPane.YES_NO_CANCEL_OPTION); 1.14 + if (result == JOptionPane.YES_OPTION) { 1.15 + if (save()) { 1.16 + proceed = true; 1.17 + } 1.18 + } else if (result == JOptionPane.NO_OPTION) { 1.19 + proceed = true; 1.20 + } 1.21 + } else { 1.22 + proceed = true; 1.23 + } 1.24 + 1.25 + return proceed; 1.26 + } 1.27 1.28 @Override 1.29 public void actionPerformed(ActionEvent e) { 1.30 switch (e.getActionCommand()) { 1.31 + case NEW: 1.32 + if (saveUnsaved()) { 1.33 + field.clear(); 1.34 + } 1.35 + break; 1.36 case SAVE: 1.37 save(); 1.38 break; 1.39 @@ -94,18 +119,7 @@ 1.40 solve(); 1.41 break; 1.42 case QUIT: 1.43 - if (field.isAnyCellModified()) { 1.44 - int result = JOptionPane.showConfirmDialog(field, 1.45 - "Das Feld ist ungespeichert - jetzt speichern?", 1.46 - "Sudoku", JOptionPane.YES_NO_CANCEL_OPTION); 1.47 - if (result == JOptionPane.YES_OPTION) { 1.48 - if (save()) { 1.49 - System.exit(0); 1.50 - } 1.51 - } else if (result == JOptionPane.NO_OPTION) { 1.52 - System.exit(0); 1.53 - } 1.54 - } else { 1.55 + if (saveUnsaved()) { 1.56 System.exit(0); 1.57 } 1.58 break;
2.1 --- a/src/de/uapcore/sudoku/Field.java Sat Jan 26 18:38:12 2013 +0100 2.2 +++ b/src/de/uapcore/sudoku/Field.java Sat Jan 26 18:43:49 2013 +0100 2.3 @@ -118,4 +118,12 @@ 2.4 } 2.5 return false; 2.6 } 2.7 + 2.8 + public void clear() { 2.9 + for (int x = 0 ; x < 9 ; x++) { 2.10 + for (int y = 0 ; y < 9 ; y++) { 2.11 + cells[x][y].setValue(0); 2.12 + } 2.13 + } 2.14 + } 2.15 }
3.1 --- a/src/de/uapcore/sudoku/SudokuTextField.java Sat Jan 26 18:38:12 2013 +0100 3.2 +++ b/src/de/uapcore/sudoku/SudokuTextField.java Sat Jan 26 18:43:49 2013 +0100 3.3 @@ -99,6 +99,10 @@ 3.4 public void focusGained(FocusEvent e) { 3.5 selectAll(); 3.6 } 3.7 + @Override 3.8 + public void focusLost(FocusEvent e) { 3.9 + select(0, 0); 3.10 + } 3.11 }); 3.12 } 3.13