# Barcode Scanner mit JavaPos ansprechen



## reliC (17. Apr 2009)

Hi all,
weiß nicht genau in welches Forum ich die Frage stellen soll aber hab gedacht hier könnte das passen.

Also zu meinem Problem, ich habe einen Barcode Scanner von Metrologic und möchte gerne die gescannten ISBN Codes usw in Java weiterverarbeiten. Nun habe ich verschiedene versuche gestartet jedoch funktioniert keines meiner Tests. Bekomme jedesmal eine JPOS exception "jpos.JposException: Control not opened".
Der Scanner ist per USB an den Rechner angeschlossen und funktioniert auch. Weiß nicht wo ich anfangen soll nach fehlern zu suchen, finde auch keine richtige Doku wo sowas beschrieben ist.
Hat jemand vielleicht erfahrung mit solchen Scannern oder sowas schonmal implementiert und kann mir ein paar tipps geben? 

Hier nochmal der source:

```
package barcodetest;

import jpos.JposException;
import jpos.Scanner;

public class Main {


    public static void main(String [] args){

    Scanner sc = new Scanner();
         
    try{
        sc.open(sc.getPhysicalDeviceName());
        sc.setDeviceEnabled(true);
    }catch(JposException e){
        System.out.println(e);
        }
    
    }
}
```


----------



## DennisMo (27. Mai 2009)

Hi

ich stand heute vor dem selben Problem, habe seit ewigkeiten nichts mit Java gemacht aber habe mit deinem Ansatz dann doch noch ne Lösung gefunden. Hier meine Lösung hoffe es hilft dir oder irgendwem weiter der was mit jpos machen will (muss ):

Main.java

```
class Main {
        public static void main(String[] args) {
                ScannerStdout test = new ScannerStdout();
        }
}
```

ScannerStdout.java

```
import jpos.*;
import jpos.events.*;

public class ScannerStdout implements DataListener {
    public Scanner sc = null;
    public ScannerStdout(){
        sc = new Scanner();
        try{
            sc.open("defaultScanner");
            sc.addDataListener(this);
            sc.claim(0);
            sc.setDeviceEnabled(true);
            sc.setDataEventEnabled(true);
        }catch(JposException e){
            System.out.println(e.getMessage());
            e.printStackTrace();
       }
    }

    public void dataOccurred(DataEvent de)
    {
        try{
            System.out.println(new String(sc.getScanData()));
            sc.setDataEventEnabled(true);
        }catch(JposException e){
            System.out.println(e.getMessage());
            e.printStackTrace();
       }
    }

}
```

gruß Dennis


----------

