2014-02-15 3 views
0

У меня проблема с моим очень длинным и грязным кодом (если есть лучший способ, пожалуйста, скажите мне), но реальная проблема у меня есть, я хочу, чтобы мой JOptionPane.showConfirmDialog() отменил остальные операции после того, как отмена нажата, мой класс здесь должен установить для объекта «newDate» значение null, если нажимается кнопка отмены, до сих пор это не происходит, поэтому я думаю, что некоторые свежие глаза помогут. Вот код:Проблема с отменой операции JOptionPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    Object o = jComboBox1.getSelectedItem(); 
    String st = (String) o; 
    Object o2 = jComboBox2.getSelectedItem(); 
    String st2 = (String) o2; 
    newDate = new Dates(st, (int)jSpinner1.getValue(), 
      (int)jSpinner2.getValue(), st2); 
    switch (newDate.getDayOfWeek()) { 
        //Sundays 
        case "Sun": 
         if (newDate.getHour() == 11) { 
          if (newDate.getMinute() >= 0) { 
           if (newDate.getDayNight().equals("am")) { 
            int m = JOptionPane.showConfirmDialog(null, "Warning " 
              + "Lessons is During Program Time!", 
              "Warning!", OK_CANCEL_OPTION, WARNING_MESSAGE); 
            if (m == 1 || m == -1) { 
             newDate = null; 
             break; 
            } 
           } 
          } 
         } 
         break; 
        //Mondays, Tuesdays, Wednesdays, Thursdays 
        case "Mon": 
        case "Tue": 
        case "Wed": 
        case "Thu": 
         if (newDate.getHour() == 9 || newDate.getHour() == 10 || 
           newDate.getHour() == 11) {//9, 10, 11 am 
          if (newDate.getMinute() >= 0) { 
           if (newDate.getDayNight().equals("am")) { 
            int m = JOptionPane.showConfirmDialog(null, "Warning " 
              + "Lessons is During Program Time!", 
              "Warning!", OK_CANCEL_OPTION, WARNING_MESSAGE); 
            if (m == 1 || m == -1) { 
             newDate = null; 
             break; 
            } 
           } 
          } 
         } else if (newDate.getHour() == 3 || newDate.getHour() == 4 || 
           newDate.getHour() == 5|| newDate.getHour() == 6) {//3, 4, 5, 6 pm 
          if (newDate.getMinute() >= 0) { 
           if (newDate.getDayNight().equals("pm")) { 
            int m = JOptionPane.showConfirmDialog(null, "Warning " 
              + "Lessons is During Program Time!", 
              "Warning!", OK_CANCEL_OPTION, WARNING_MESSAGE); 
            if (m == 1 || m == -1) { 
             newDate = null; 
             break; 
            } 
           } 
          } 
         } 
         break; 
        //Fridays 
        case "Fri": 
         if (newDate.getHour() == 9 || newDate.getHour() == 10) {//9, 10 
          if (newDate.getMinute() >= 0) { 
           if (newDate.getDayNight().equals("am")) { 
            int m = JOptionPane.showConfirmDialog(null, "Warning " 
              + "Lessons is During Program Time!", 
              "Warning!", OK_CANCEL_OPTION, WARNING_MESSAGE); 
            if (m == 1 || m == -1) { 
             newDate = null; 
             break; 
            } 
           } 
          } 
         } else if (newDate.getHour() == 5|| newDate.getHour() == 6) {//5, 6 pm 
          if (newDate.getMinute() >= 0) { 
           if (newDate.getDayNight().equals("pm")) { 
            int m = JOptionPane.showConfirmDialog(null, "Warning " 
              + "Lessons is During Program Time!", 
              "Warning!", OK_CANCEL_OPTION, WARNING_MESSAGE); 
            if (m == 1 || m == -1) { 
             newDate = null; 
             break; 
            } 
           } 
          } 
         } 
         break; 
        //Saturdays 
        case "Sat": 
         if (newDate.getHour() == 9 || newDate.getHour() == 10 || 
           newDate.getHour() == 11) {//9, 10, 11 am 
          if (newDate.getMinute() >= 0) { 
           if (newDate.getDayNight().equals("am")) { 
            int m = JOptionPane.showConfirmDialog(null, "Warning " 
              + "Lessons is During Program Time!", 
              "Warning!", OK_CANCEL_OPTION, WARNING_MESSAGE); 
            if (m == 1 || m == -1) { 
             newDate = null; 
             break; 
            } 
           } 
          } 
         } 
         break; 
        default: 
         break; 
       } 
    dispose(); 
}  

ответ

0

Изменение если заявление:

if (m == JOptionPane.CLOSED_OPTION || m == JOptionPane.CANCEL_OPTION) { 
     newDate = null; 
     break; 
    } 

CANCEL_OPTION имеет ИНТ значение 2 в то время как условно, так как он стоит проверяет 1.

Смежные вопросы