スキャナーから画像を取得し、ScanningService と呼ばれる SwingWorker クラスによって実行される特定の順序で名前を付けて HashMap に配置したいと考えています。同じデバイスを使用して最初の画像が完了した後、for ループを使用して別の画像を取得したいと考えています。 scan.getImage()
完了したら、スキャンした画像を返します。パラメータはsc
スキャナ オブジェクトです。私の試行が実を結ばなかったので、誰かが Executor または Timer の実装を提供してくれるかもしれません。
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());
}
}
});
}