G
Guest
Gast
Hi!
Für ein Projekt gilt es eine Kreditkarte durch einen Kartenleser zu ziehen und diese auszulesen und zu speichern.
Deswegen wollte ich diesen Code (siehe unten) ausprobieren. Ich habe die javax.comm von sun runtergeladen und bekomme dennoch nach dem richtigen imkludieren folgende Fehler (siehe noch weiter unten). Ich verwende Windows XP und NetBeans.
Kann mir bitte jemand auf die Sprünge helfen ?
Liebe Grüße,
StormsN
PS:
Für ein Projekt gilt es eine Kreditkarte durch einen Kartenleser zu ziehen und diese auszulesen und zu speichern.
Deswegen wollte ich diesen Code (siehe unten) ausprobieren. Ich habe die javax.comm von sun runtergeladen und bekomme dennoch nach dem richtigen imkludieren folgende Fehler (siehe noch weiter unten). Ich verwende Windows XP und NetBeans.
Kann mir bitte jemand auf die Sprünge helfen ?
Liebe Grüße,
StormsN
PS:
Code:
import java.io.*;
import javax.comm.*;
import java.awt.*;
import java.awt.event.*;
public class comframe extends Frame{
static CommPortIdentifier portID;
InputStream ins;
OutputStream out;
static SerialPort serss;
TextArea ausgabe;
TextField tfe;
Button bt;
public static void main(String[] args){
try{portID = CommPortIdentifier.getPortIdentifier("COM4");
serss = (SerialPort) portID.open("mein_programm",2000);
comframe f = new comframe();
f.setSize(330,250);
f.setVisible(true);
}
catch(Exception exc){System.out.println("Fehler :"+exc);}
}
public comframe() {
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
setLayout(new FlowLayout());
add(tfe=new TextField(40));
tfe.addActionListener(new sendeListener());
add(bt=new Button("Senden"));
bt.addActionListener(new sendeListener());
add(ausgabe=new TextArea("Port COM4 geöffnet\n",7,40));
try {ins = serss.getInputStream();
out = serss.getOutputStream();
serss.addEventListener(new commListener());
}
catch (Exception e) { System.out.println("Fehler: "+e);}
serss.notifyOnDataAvailable(true);
try {serss.setSerialPortParams(2400,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1 ,
SerialPort.PARITY_NONE);}
catch (UnsupportedCommOperationException e) {}
}
public class sendeListener implements ActionListener{
public void actionPerformed(ActionEvent e){
PrintWriter aus = new PrintWriter(out);
aus.println(tfe.getText());
aus.flush();
aus.close();
}
}
public class commListener implements SerialPortEventListener{
public void serialEvent(SerialPortEvent event) {
if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
byte[] readBuffer = new byte[20];
try {
while (ins.available() > 0) {int numBytes = ins.read(readBuffer);}
String nachricht = new String(readBuffer);
ausgabe.append(nachricht);
}
catch (IOException e) {System.out.println("Fehler: "+e);}
}
}
}
}
Code:
init:
deps-jar:
Compiling 1 source file to D:\Dokumente und Einstellungen\Oliver Tatzber\Kartenleser\build\classes
D:\Dokumente und Einstellungen\StormsoN\Kartenleser\src\kartenleser\comframe.java:6: warning: [serial] serializable class comframe has no definition of serialVersionUID
public class comframe extends Frame{
1 warning
compile:
run:
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.path
Fehler :javax.comm.NoSuchPortException
Caught java.lang.UnsatisfiedLinkError: readRegistrySerial while loading driver com.sun.comm.SolarisDriver
BUILD SUCCESSFUL (total time: 1 second)