(но иногда может вызвать проблемы, когда соединение слишком медленное)

я есть эта программа, которая отправляет электронную почту. Мне было интересно, могу ли я использоватьprogress bar сделать пользовательский интерфейс лучше. То, что я хочу, это то, что индикатор выполнения должен прогрессировать соответственно после заявленияtransport.send() Есть способ, которым я могу знать прогресс. Что происходит, знаете, как пользователь нажимаетsend запускается новый поток, который отправляет электронное письмо. Ответ после нажатия кнопки отправки плохой, поскольку пользователь не знает, прослушивается его действие или нет.(хотя его слушают!) Через полминуты он получаетJOptionPane что да, сообщение было отправлено. Вы согласитесь, что каждый хочет знать, обрабатывается его действие или нет.

Есть ли выход, я могу использовать индикатор выполнения.(то есть как я могу узнать о прогрессе моей почтовой программы) Если я не могу использоватьJProgressBar какой другой метод я могу использовать, чтобы сообщить пользователю, что его команда обрабатывается, и ему не нужно беспокоиться.

Кстати, именно эта часть отвечает за отправку писем.

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 );
            }

После закомментированной строки для выполнения следующих 2 операторов требуется некоторое время. Между ними я хочу, чтобы пользователь знал, что его действие обрабатывается

Как я могу это сделать ?

Ответы на вопрос(2)

Ваш ответ на вопрос