@Override public synchronized void actionPerformed(ActionEvent e) { if (isBreak) { if (breakTime > 0) { breakDialog.paintStatus(convert(breakTime)); breakTime--; } else { isBreak = false; breakDialog.setVisible(false); // Utils.playSound(); if (longBreaks) { if (shortBreaksBeforeLongOne > 0) { shortBreaksBeforeLongOne--; } else { shortBreaksBeforeLongOne = settingsDialog.getShortBreaksBeforeLongOne(); } } workTime = settingsDialog.getWorkTime(); settingsDialog.paintStatus(convert(workTime) + " until the next break"); workTime--; } } else { if (workTime > 0) { settingsDialog.paintStatus(convert(workTime) + " until the next break"); workTime--; } else { isBreak = true; settingsDialog.paintStatus("Break!"); if (longBreaks) { if (shortBreaksBeforeLongOne > 0) { breakTime = settingsDialog.getShortBreakTime(); } else { breakTime = settingsDialog.getLongBreakTime(); } } else { breakTime = settingsDialog.getShortBreakTime(); } breakDialog.paintStatus(convert(breakTime)); breakDialog.setVisible(true); // Utils.playSound(); breakTime--; } } }