Moin an alle,
bin gerade dabei mir ein Programm zu schreiben, mit dem ich Bits auf die Datenleitung von meinem Parallelport am PC legen kann. Unter Eclipse (3.2) funktionierte das zunächst nicht... hatte immer den Fehler
Also gegoogelt und zufällig auf einen Seite von einer Schule gekommen:
http://bs-gelnhausen.de/typo3/BG12_2_TW_Materialien.135.0.html
und dort die Datei http://bs-gelnhausen.de/typo3/fileadmin/user_upload/div_Dateien/Java_Tools_Flach_kpl.zip runtergeladen, in der dann die gesuchte JPort.dll drin war. Also hab ich die in meinen Projekteordner eingefügt und der Fehler war weg und ich hatte vollen Zugriff auf meinen Port. (Die Datei "DrvLoad.exe, welche die Datei "giveio.sys" lädt, läuft bei mir auch...)
Als ich das vor einem halben Jahr in der Schule programmiert habe, hat's ohne JPort.dll funktioniert... an der Eclipse-Version liegt's nicht, habe auch die 3.4 getestet, dort bekam ich auch den Fehler... warum brauche ich nun diese Datei??
Naja, wie auch immer. Wollte für meinen Parallelport (über den ich eine LED ansteuere) auch eine schöne GUI haben. Also habe ich mir eine zusammengeschrieben. Diese funktioniert unter Eclipse ohne Probleme, wenn ich die GUI allerdings als Jar-Datei exportiere, regiert das Programm nicht auf den Button-Klick... weiß jemand warum? Hier mal der Programmcode:
bin gerade dabei mir ein Programm zu schreiben, mit dem ich Bits auf die Datenleitung von meinem Parallelport am PC legen kann. Unter Eclipse (3.2) funktionierte das zunächst nicht... hatte immer den Fehler
Code:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no JPort in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at directio.IOPortAccess.<clinit>(IOPortAccess.java:44)
at sonstiges.LPT_Port_Datenausgabe.main(LPT_Port_Datenausgabe.java:8)
http://bs-gelnhausen.de/typo3/BG12_2_TW_Materialien.135.0.html
und dort die Datei http://bs-gelnhausen.de/typo3/fileadmin/user_upload/div_Dateien/Java_Tools_Flach_kpl.zip runtergeladen, in der dann die gesuchte JPort.dll drin war. Also hab ich die in meinen Projekteordner eingefügt und der Fehler war weg und ich hatte vollen Zugriff auf meinen Port. (Die Datei "DrvLoad.exe, welche die Datei "giveio.sys" lädt, läuft bei mir auch...)
Als ich das vor einem halben Jahr in der Schule programmiert habe, hat's ohne JPort.dll funktioniert... an der Eclipse-Version liegt's nicht, habe auch die 3.4 getestet, dort bekam ich auch den Fehler... warum brauche ich nun diese Datei??
Naja, wie auch immer. Wollte für meinen Parallelport (über den ich eine LED ansteuere) auch eine schöne GUI haben. Also habe ich mir eine zusammengeschrieben. Diese funktioniert unter Eclipse ohne Probleme, wenn ich die GUI allerdings als Jar-Datei exportiere, regiert das Programm nicht auf den Button-Klick... weiß jemand warum? Hier mal der Programmcode:
Code:
package sonstiges;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.BorderFactory;
import javax.swing.border.BevelBorder;
import javax.swing.JButton;
import directio.IOPortAccess;
import java.awt.Point;
import java.awt.Dimension;
public class LPT_GUI_new extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JPanel jPanel = null;
private JButton jButton = null;
private JButton jButton1 = null;
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.add(getJButton(), null);
jPanel.add(getJButton1(), null);
}
return jPanel;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("LED AN");
jButton.setSize(new Dimension(100, 40));
jButton.setLocation(new Point(33, 60));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
IOPortAccess io = new IOPortAccess();
io.openDriver();
try {
io.writePort(0x378, 0x01);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
io.closeDriver();
io = null;
}
});
}
return jButton;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setText("LED AUS");
jButton1.setSize(new Dimension(100, 40));
jButton1.setLocation(new Point(166, 60));
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
IOPortAccess io = new IOPortAccess();
io.openDriver();
try {
io.writePort(0x378, 0x00);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
io.closeDriver();
io = null;
}
});
}
return jButton1;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
LPT_GUI_new thisClass = new LPT_GUI_new();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public LPT_GUI_new() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(getJContentPane());
this.setTitle("LED on/off");
this.setVisible(true);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setText("(c) 2008, TJ");
jLabel.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(jLabel, BorderLayout.SOUTH);
jContentPane.add(getJPanel(), BorderLayout.CENTER);
}
return jContentPane;
}
} // @jve:decl-index=0:visual-constraint="31,14"