Usando JProgressBar com Java Mail (conhecendo o progresso após transport.send ())
Eu tenho este programa que envia email. Eu queria saber se eu poderia usarprogress bar
para melhorar a interface do usuário. O que eu quero é que a barra de progresso progrida adequadamente após a instruçãotransport.send()
é encontrado. Existe uma maneira de saber o progresso. O que acontece é que, conforme o usuário pressionasend
é iniciado um novo encadeamento que envia o email. A resposta após clicar em enviar é ruim, pois o usuário não sabe que sua ação está sendo ouvida ou nã (embora esteja sendo ouvido!) Após um intervalo de meio minuto, ele recebe umaJOptionPane
isso sim, a mensagem foi enviada.Você concorda que todos estão ansiosos para saber que sua ação está sendo processada ou não.
Existe alguma saída para usar a barra de progress( ou seja, como posso saber o andamento do meu programa de e-mail) Se não posso usarJProgressBar
qual é o outro método que posso usar para informar ao usuário que seu comando está sendo processado e que ele não precisa se preocupa
Pela forma como esta é a parte responsável pelo envio de e-mails.
try {
message.setFrom( new InternetAddress(from));
message.setRecipients(MimeMessage.RecipientType.TO , InternetAddress.parse(to) );
message.setSubject(subject);
message.setText(emailMessage);
attachment.setDataHandler( new DataHandler( fds ) );
attachment.setFileName( fileName );
messagePart.setText( emailMessage );
Multipart gmailMP = new MimeMultipart();
gmailMP.addBodyPart(attachment);
gmailMP.addBodyPart( messagePart );
message.setContent( gmailMP );
Transport transport = session.getTransport("smtp");
transport.send(message); // LINE THAT SENDS EMAIL
transport.close();
JOptionPane.showMessageDialog(new JFrame() , "Message sent!");
} catch(Exception exc) {
JOptionPane.showMessageDialog( new JFrame() , exc );
}
Depois da linha comentada, leva algum tempo para as próximas 2 instruções serem executadas. Entre eu quero que o usuário saiba que sua ação está sendo processada
Como eu posso fazer isso