[Risolto] [JAVA] CLOSED_OPTION per WARNING.MESSAGE

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
roquentin3
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 413
Iscrizione: mercoledì 6 agosto 2014, 9:34

[Risolto] [JAVA] CLOSED_OPTION per WARNING.MESSAGE

Messaggio da roquentin3 »

Ciao a tutti, ho un problema con questa situazione:

Codice: Seleziona tutto

if (fileListMese.exists() == false) { 
                        JOptionPane.showMessageDialog(this,
                                "The radiation data for the month of " + m + " are not present",
                                "Attention",
                                JOptionPane.WARNING_MESSAGE,
                                icon);
                        for (i = 0; i < righe; i++) {
                            tabellaMesi.setValueAt(" ", i, 0);
                            tabellaMesi.setValueAt(" ", i, 1);
                            tabellaMesi.setValueAt(" ", i, 2);
                            tabellaMesi.setValueAt(" ", i, 3);
                            tabellaMesi.setValueAt(" ", i, 4);
                        }
                    }
Eseguo questo ciclo per 12 volte (mesi dell'anno) se ovviamente il metodo che apre in sequenza i file relativi ad ogni mese non trova il file del mese specificato. Ovviamente il messaggio del relativo mese non viene visualizzato se il file di quel mese è presente. Il problema è che se non sono presenti tutti i 12 mesi, comunque mi apre in sequenza il "warning message". Vorrei capire se è possibile utilizzare una CLOSED_OPTION, in modo tale da permettere all'utente di uscire da questa sequenza di messaggi in anticipo: E' possibile farlo ?

Grazie
Ultima modifica di roquentin3 il lunedì 30 marzo 2015, 21:28, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [JAVA] CLOSED_OPTION per WARNING.MESSAGE

Messaggio da Zoff »

Ma un break dopo il for che segue JOptionPane.showMessageDialog() non sarebbe piu' semplice?

Ergo:

Codice: Seleziona tutto

if (fileListMese.exists() == false) {
                        JOptionPane.showMessageDialog(this,
                                "The radiation data for the month of " + m + " are not present",
                                "Attention",
                                JOptionPane.WARNING_MESSAGE,
                                icon);
                        for (i = 0; i < righe; i++) {
                            tabellaMesi.setValueAt(" ", i, 0);
                            tabellaMesi.setValueAt(" ", i, 1);
                            tabellaMesi.setValueAt(" ", i, 2);
                            tabellaMesi.setValueAt(" ", i, 3);
                            tabellaMesi.setValueAt(" ", i, 4);
                        }
                        break;
                    }
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
roquentin3
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 413
Iscrizione: mercoledì 6 agosto 2014, 9:34

Re: [JAVA] CLOSED_OPTION per WARNING.MESSAGE

Messaggio da roquentin3 »

Ciao, ho risolto in questo modo:

Codice: Seleziona tutto

i = 0;
                j = 0;
                boolean salta = false;
                for (ApriFileMese.MeseDellAnno m : ApriFileMese.MeseDellAnno.values()) {
                    fileMese = (dir + File.separator + pathname.getData() + File.separator + m + ".txt");
                    File fileListMese = new File(fileMese);
                    if (fileListMese.exists() == false && salta == false) {
                        Object[] options = {"Continue", "Terminate"};
                        int answerMonth = JOptionPane.showOptionDialog(this,
                                "The radiation data for the month of " + m + " are not present",
                                "Warning", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
                        if (answerMonth == 0 && salta == false) {
                            for (int k = 0; k <= 4; k++) {
                                tabellaMesi.setValueAt(" ", i, k);
                            }
                            i++;
                        } else if (answerMonth == 1 || answerMonth == JOptionPane.CLOSED_OPTION) {
                            for (int k = 0; k <= 4; k++) {
                                tabellaMesi.setValueAt(" ", i, k);
                            }
                            i++;
                            salta = true;
                        }
                    } else if (fileListMese.exists() == false && salta == true) {
                        for (int k = 0; k <= 4; k++) {
                            tabellaMesi.setValueAt(" ", i, k);
                        }
                        i++;
                    } else if (fileListMese.exists() == true) {
                        List<Mese> mese = ricercaMese.findDirectory(dir, pathname.getData());
                        tabellaMesi.setValueAt(mese.get(j).getNomeMese(), i, 0);
                        tabellaMesi.setValueAt(mese.get(j).getMediaMeseIrradianzaG(), i, 1);
                        tabellaMesi.setValueAt(mese.get(j).getMediaMeseIrradianzaGd(), i, 2);
                        tabellaMesi.setValueAt(mese.get(j).getMediaMeseIrradianzaGc(), i, 3);
                        tabellaMesi.setValueAt(mese.get(j).getOreTotaliMese(), i, 4);
                        i++;
                        j++;
                    }
                }
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: maresama e 19 ospiti