1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
public class TwainAppletExample extends Applet implements ActionListener, ScannerListener{
int index = 0;
String filename;
Scanner scanner;
Button acquireButton,selectButton,cancelButton;
public TwainAppletExample(){
}
public TwainAppletExample(String title, String[] argv){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame=new JFrame(title);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
stop();System.exit(0);
}
});
init();
frame.getContentPane().add(this);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
start();
}
public void init(){
setLayout(new GridLayout(1,3));
selectButton = new Button("select");
add(selectButton);
selectButton.addActionListener(this);
acquireButton = new Button("acquire");
add(acquireButton);
acquireButton.addActionListener(this);
cancelButton = new Button("cancel next scan");
add(cancelButton);
cancelButton.addActionListener(this);
filename=System.getProperty("user.home")+"\\My Documents\\test";
scanner=Scanner.getDevice();
scanner.addListener(this);
}
public void actionPerformed(ActionEvent evt){
try{
if(evt.getSource()==acquireButton){
scanner.acquire();
}else if(evt.getSource()==selectButton){
scanner.select();
}else if(evt.getSource()==cancelButton){
scanner.setCancel(true);
}
}catch(ScannerIOException se){
se.printStackTrace();
} }
public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata){
if(type.equals(ScannerIOMetadata.ACQUIRED)){
BufferedImage image=metadata.getImage();
System.out.println("Have an image now!");
try{
ImageIO.write(image, "jpg", new File(filename+index+".jpg"));
index++;
}catch(Exception e){
e.printStackTrace();
}
}else if(type.equals(ScannerIOMetadata.NEGOTIATE)){
ScannerDevice device=metadata.getDevice();
}else if(type.equals(ScannerIOMetadata.STATECHANGE)){
System.err.println(metadata.getStateStr());
}else if(type.equals(ScannerIOMetadata.EXCEPTION)){
metadata.getException().printStackTrace();
} }
public static void main(String[] argv){
try{
new TwainAppletExample("Twain Applet Example [2007-11-02]", argv);
}catch(Exception e){
e.printStackTrace();
}}} |
Partager