灰天使
2006-11-27 09:33:26 UTC
假設我按了一個button會開始跑一個for loop
然後我想要同時顯示loop的進度..
大概像下面這樣子... 可是ProgressBar只會在loop跑完的時候才會update
也就是一次從0% 跳到 100%
請問有什麼辦法可以解決嗎?
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JProgressBar pro = new JProgressBar(0, 100000);
JFrame frame = new JFrame();
frame.add(pro);
frame.setSize(50,50);
frame.setVisible(true);
pro.setStringPainted(true);
Runnable runner = new Runnable(){
public void run(){
int val = pro.getValue();
pro.setValue(val+1);
}
};
for(int i=0;i<100000;i++){
//operations..
SwingUtilities.invokeLater(runner);
}
}
});
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 69.255.250.222
然後我想要同時顯示loop的進度..
大概像下面這樣子... 可是ProgressBar只會在loop跑完的時候才會update
也就是一次從0% 跳到 100%
請問有什麼辦法可以解決嗎?
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JProgressBar pro = new JProgressBar(0, 100000);
JFrame frame = new JFrame();
frame.add(pro);
frame.setSize(50,50);
frame.setVisible(true);
pro.setStringPainted(true);
Runnable runner = new Runnable(){
public void run(){
int val = pro.getValue();
pro.setValue(val+1);
}
};
for(int i=0;i<100000;i++){
//operations..
SwingUtilities.invokeLater(runner);
}
}
});
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 69.255.250.222