我有这个发送电子邮件的程序。我想知道我是否可以用它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 个语句需要一些时间才能执行。在这之间,我希望用户知道他的操作正在被处理
我怎样才能做到这一点 ?