Tenho q fazer um applet para pegar o numero de codigos de barra
mas a scanner( ja tentei com varios modelos de scanner) num consegue se conectar direito e nem passa nada para o applet
ja tentei todos o tipos de parity e flowcontrol
alguem sabe alguma coisa ou ja fez algo assim e possa me ajuda
OBS:ultima esperança hauhauha.
[code]package Scan;
import java.io.OutputStream;
import gnu.io.*;
import java.io.IOException;
import java.io.InputStream;
import java.util.TooManyListenersException;
import javax.swing.JApplet;
public class NewScan extends JApplet implements Runnable, SerialPortEventListener {
public boolean IDPortaOK;
private boolean PortaOK;
public int nodeBytes;
private int baudrate=9600;
private int timeout=0;
private CommPortIdentifier cp;
private SerialPort porta;
private String Porta=“COM1”;
private InputStream is;
private OutputStream os;
Thread readThread;
public void ObterIdDaPorta(){
try {
cp = CommPortIdentifier.getPortIdentifier(Porta);
if ( cp == null ) {
System.out.println("Erro na porta");
IDPortaOK = false;
System.exit(1);
}
IDPortaOK = true;
System.out.println(cp.getName());
} catch (Exception e) {
System.out.println("Erro obtendo ID da porta: " + e);
IDPortaOK = false;
System.exit(1);
}
AbrirPorta();
}
public void AbrirPorta() {
try {
porta = (SerialPort)cp.open(“COM1”, timeout);
PortaOK = true;
} catch (PortInUseException e) {}
try {
is = porta.getInputStream();
} catch (IOException e) {}
try {
porta.addEventListener(this);
} catch (TooManyListenersException e) {}
porta.notifyOnDataAvailable(true);
try {
porta.setSerialPortParams(9600, SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_ODD);
porta.setFlowControlMode(SerialPort.FLOWCONTROL_XONXOFF_IN);
} catch (UnsupportedCommOperationException e) {}
readThread = new Thread(this);
readThread.start();
}
public void run() {
try {
Thread.sleep(20000);
} catch (InterruptedException e) {}
}
public void serialEvent(SerialPortEvent event) {
switch (event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
byte[] readBuffer = new byte[20];
try {
while (is.available() > 0) {
int numBytes = is.read(readBuffer);
}
System.out.print(new String(readBuffer));
} catch (IOException e) {}
break;
}
}
}[/code]