指紋スキャナーを使用できるようにする JNI とインターフェースしています。私が書いたコードは、JNI によって解析されたスキャンされた ByteBuffer を受け取り、それを BufferedImage に変換して保存します。
私が理解できないのは、GUI の jlabel アイコンが更新される前に、スキャン スレッドが終了するのを待つ方法です。これを行う最も簡単な方法は何ですか?
他に何を追加する必要がありますか?
編集:
//Scanner class
Thread thread = new Thread() {
public void run() {
// [...] get ByteBuffer and Create Image code
try {
File out = new File("C:\\Users\\Desktop\\print.png");
ImageIO.write(padded, "png", out);
// [???] set flag here
} catch (IOException e) {
e.printStackTrace();
}
}
};
thread.start();
return true;
//Gui class
private void btnScanPrintActionPerformed(java.awt.event.ActionEvent evt) {
Scanner scanPrint = new Scanner();
boolean x = scanPrint.initDevice();
//Wait for the scanning thread to finish the Update the jLabel here to show
//the fingerprint
}