Ciao a tutti, ho realizzato un programma con interfaccia grafica che dati in input email e password "dovrebbe" restituire in continuazione il numero di mail non lette. Premetto che è il mio primo progetto in cui uso anche un po' di grafica.
Ho solo 2 enormi problemi: quando premo il pulsante Connect mi parte la connessione e non riesco a interromperla, il ciclo prende il sopravvento su tutto, il programma tuttavia funziona perché a terminale vedo il numero di messaggi non letti, ma non mi va a modificare la Label destinata a visualizzare il risultato
Posto qui sotto il codice dell'actionPerformed:
codice:@Override public void actionPerformed(ActionEvent e) { if(e.getSource() == check){ if(check.isSelected()) pass.setEchoChar((char) 0); else pass.setEchoChar('•'); } //CONTROLLO SUL PULSANTE CONNECT/DISCONNECT else if(e.getSource() == b){ if(b.getText().compareTo("Connect") == 0){ connected = true; b.setText("Disconnect"); //NON CAMBIA IL TESTO DEL PULSANTE (se il codice sotto viene eseguito, non dovrebbe eseguire anche questa linea?) Properties props = System.getProperties(); props.setProperty("mail.store.protocol", "imaps"); try{ Session session = Session.getDefaultInstance(props, null); Store store = session.getStore("imaps"); store.connect("imap.gmail.com", user.getText(), String.valueOf(pass.getPassword())); inbox = store.getFolder("Inbox"); //CICLO CHE NO TERMINA while(connected){ if(inbox.getUnreadMessageCount() != 0){ res.setText("Unread messages: " + inbox.getUnreadMessageCount()); //NON MODIFICA LA LABEL RES System.out.println("Unread messages: " + inbox.getUnreadMessageCount()); } else{ res.setText("No new messages"); //NON MODIFICA LA LABEL RES System.out.println("No new messages"); } Thread.sleep(1000 * 15); } } catch(MessagingException ex){ System.out.println("Error1"); } catch(InterruptedException ex){ System.out.println("Error2"); } } else if(b.getText().compareTo("Disconnect") == 0){ //IL PULSANTE RESTA SEMPRE PREMUTO connected = false; b.setText("Connect"); System.out.println("Lost connection"); } } }Ringrazio in anticipo!!!

Ringrazio in anticipo!!!
Rispondi quotando

