我想要從掃描程序獲取圖像,並將它們放置在HashMap中,並且名稱按照由SwingWorker類執行的特定順序(稱爲ScanningService)執行。我想使用for循環來獲取另一個圖像,第一個完成後使用相同的設備。 scan.getImage()
完成後返回掃描的圖像。 sc
參數是一個掃描器對象。也許有人可以給我一個Executor或Timer的實現,因爲我的試驗沒有取得任何成果。在for循環中執行SwingWorker
for(int k=0; k<10; k++){
lblMessage.setText("Scan Next Image: ");
scan = new ScanningService(sc);
scan.execute();
scan.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent arg0) {
// TODO Auto-generated method stub
if(StateValue.DONE == scan.getState()){
lblImagePreview.setIcon(new ImageIcon(scan.getImage()));
//logic for name in order of sequence
imageList.put<imagename, scan.getImage());
}
}
});
}
我可能會放環的'SwingWorker'內的,想必,你只能在掃描一個文檔時間... – MadProgrammer
怎麼回事?截至目前爲止,這段代碼看起來不錯......但是,爲了確保在我們添加偵聽器之前工作人員還沒有準備好:-) – kleopatra