Fer*_*iva 6 java multithreading jakarta-mail progress-bar vaadin7
我正在尝试Thread在我的项目中发送电子邮件.当我点击a时Button,a Thread启动并ProgressBar显示a.所有邮件一发送,ProgressBar就不会消失.
这是我的代码:
Button btnSendMail = new Button("Mail");
btnSendMail.addClickListener(this);
@Override
public void buttonClick(ClickEvent event) {
if(event.getButton() == btnSendMail){
sendMail();
}
}
}
private void sendMail(){
List<String> list = new ArrayList<String>();
list.add("mymail@domain.com");
list.add("metoyou@domain.com");
list.add("thisismymail@domain.com");
new Thread(){
public void run(){
while(!isInterrupt()){
progressbar.setVisible(true);
for(String send : list){
new SendMailClass(send); //javamail class
}
progressbar.setVisible(false);
interrupt();
}
}.start();
}
Run Code Online (Sandbox Code Playgroud)
如何控制ProgressBar分离的可见性Thread?
要从后台线程更新UI元素,您必须激活推送或轮询.
该文档可以在vaadin书中找到.
https://vaadin.com/de/book/vaadin7/-/page/advanced.push.html
除了启用push之外,还需要同步对UI元素的访问,如"11.16.3.从另一个线程访问UI"一节中所述
| 归档时间: |
|
| 查看次数: |
7341 次 |
| 最近记录: |