Hallo, ich habe ein Problem mit Com-Ports und Java.
Zunächst meine Situation:
Ich entwickle derzeit eine Kassensoftware in Java, die mit einem seriellen Bondrucker(Star TSP 613) einen Kassenbon drucken soll. Ich probierte bereits work-arounds, die den Bon als normalen PrintJob generieren und dann den Bon mit dem Win-Druckertreiber ausgeben. Diese Methode war jedoch schleichend langsam und ist keinem Kunden zuzumuten... Also fing ich an, den Drucker direkt am COM1-Port anzusprechen. JAVA2S.COM liefert hier auch eine hilfreiche Testklasse.
Wenn es jedoch darum geht, die Klasse in mein Projekt einzubinden hat wirft mein Eclipse nur noch Fehler...
[JAVA=14]Cannot cast from CommPort to SerialPort[/code]
[JAVA=15]The method getOutputStream() is undefined for the type SerialPort[/code]
[JAVA=16]- SerialPort.PARITY_NONE cannot be
resolved
- SerialPort.DATABITS_8 cannot be
resolved
- SerialPort.STOPBITS_1 cannot be
resolved[/code]
Gibt es irgendwelche Erklärungen dafür, dass es in einem bestehenden Projekt nicht klappt, als eigenständiges jedoch schon?
Vielen Dank!
Zunächst meine Situation:
Ich entwickle derzeit eine Kassensoftware in Java, die mit einem seriellen Bondrucker(Star TSP 613) einen Kassenbon drucken soll. Ich probierte bereits work-arounds, die den Bon als normalen PrintJob generieren und dann den Bon mit dem Win-Druckertreiber ausgeben. Diese Methode war jedoch schleichend langsam und ist keinem Kunden zuzumuten... Also fing ich an, den Drucker direkt am COM1-Port anzusprechen. JAVA2S.COM liefert hier auch eine hilfreiche Testklasse.
Java:
import java.io.*;
import javax.comm.*;
import java.util.*;
public class PortWriter
{
static Enumeration ports;
static CommPortIdentifier pID;
static OutputStream outStream;
SerialPort serPort;
static String messageToSend = "message!\n";
public PortWriter() throws Exception{
serPort = (SerialPort)pID.open("PortWriter",2000);
outStream = serPort.getOutputStream();
serPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
}
public static void main(String[] args) throws Exception{
ports = CommPortIdentifier.getPortIdentifiers();
while(ports.hasMoreElements())
{
pID = (CommPortIdentifier)ports.nextElement();
System.out.println("Port " + pID.getName());
if (pID.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
if (pID.getName().equals("COM1"))
{
PortWriter pWriter = new PortWriter();
System.out.println("COM1 found");
}
}
}
outStream.write(messageToSend.getBytes());
}
}
[JAVA=14]Cannot cast from CommPort to SerialPort[/code]
[JAVA=15]The method getOutputStream() is undefined for the type SerialPort[/code]
[JAVA=16]- SerialPort.PARITY_NONE cannot be
resolved
- SerialPort.DATABITS_8 cannot be
resolved
- SerialPort.STOPBITS_1 cannot be
resolved[/code]
Gibt es irgendwelche Erklärungen dafür, dass es in einem bestehenden Projekt nicht klappt, als eigenständiges jedoch schon?
Vielen Dank!