Author: schorlet Date: 2009-10-02 15:23:49 +0200 (Fri, 02 Oct 2009) New Revision: 2670 Modified: trunk/src/main/java/org/chorem/jtimer/ui/TimerTaskEditor.java Log: bug http://www.chorem.org/issues/show/52 Les minutes sont maintenant incr?\195?\169ment?\195?\169es (d?\195?\169cr?\195?\169ment?\195?\169es) de 1 en 1 On peut aussi modifier les secondes Modified: trunk/src/main/java/org/chorem/jtimer/ui/TimerTaskEditor.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/TimerTaskEditor.java 2009-09-24 09:07:15 UTC (rev 2669) +++ trunk/src/main/java/org/chorem/jtimer/ui/TimerTaskEditor.java 2009-10-02 13:23:49 UTC (rev 2670) @@ -380,19 +380,20 @@ spinnerH.setEditor(new JSpinner.NumberEditor(spinnerH, "00")); // minutes spinner - spinnerM = new JSpinner(new SpinnerNumberModel(0, -10, 69, 10)); + spinnerM = new JSpinner(new SpinnerNumberModel(0, -1, 60, 1)); spinnerM.setEditor(new JSpinner.NumberEditor(spinnerM, "00")); spinnerM.setPreferredSize(spinnerH.getPreferredSize()); // seconds spinner - spinnerS = new JSpinner(new SpinnerNumberModel(0, 0, 59, 1)); + spinnerS = new JSpinner(new SpinnerNumberModel(0, -1, 60, 1)); spinnerS.setEditor(new JSpinner.NumberEditor(spinnerS, "00")); - spinnerS.setEnabled(false); + spinnerS.setPreferredSize(spinnerH.getPreferredSize()); // add listener on spinners spinnerListener = new SpinnerListener(); spinnerH.addChangeListener(spinnerListener); spinnerM.addChangeListener(spinnerListener); + spinnerS.addChangeListener(spinnerListener); // create panel JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0)); @@ -406,7 +407,7 @@ } /** - * Listener on spinnerH and spinnerM + * Listener on spinnerH, spinnerM and spinnerS * */ protected class SpinnerListener implements ChangeListener { @@ -415,22 +416,52 @@ if (e.getSource() == spinnerM) { int value = ((SpinnerNumberModel) spinnerM.getModel()) .getNumber().intValue(); + if (value >= 60) { if (spinnerH.getNextValue() != null) { spinnerM.setValue(value - 60); spinnerH.setValue(spinnerH.getNextValue()); } else { - spinnerM.setValue(value - 10); + spinnerM.setValue(value - 1); } + } else if (value < 0) { if (spinnerH.getPreviousValue() != null) { spinnerM.setValue(value + 60); spinnerH.setValue(spinnerH.getPreviousValue()); } else { - spinnerM.setValue(value + 10); + spinnerM.setValue(0); } } - } + + } else if (e.getSource() == spinnerS) { + int value = ((SpinnerNumberModel) spinnerS.getModel()) + .getNumber().intValue(); + + if (value >= 60) { + if (spinnerM.getNextValue() != null) { + spinnerS.setValue(value - 60); + spinnerM.setValue(spinnerM.getNextValue()); + } else { + spinnerS.setValue(value - 1); + } + + } else if (value < 0) { + int hour = ((SpinnerNumberModel) spinnerH.getModel()) + .getNumber().intValue(); + + int minute = ((SpinnerNumberModel) spinnerM.getModel()) + .getNumber().intValue(); + + if (hour != 0 || minute != 0) { + spinnerS.setValue(value + 60); + spinnerM.setValue(spinnerM.getPreviousValue()); + } else { + spinnerS.setValue(0); + } + } + + } updateTask(); }
participants (1)
-
schorletï¼ users.chorem.org