.jar dateien auf Suse ausführen?
-
Welche VM hast du denn installiert? Wie ich eben in einem anderen Thread gesehen habe, scheinen nicht alle Distributoren die VM von Sun einzusetzten. Da könnte es dann sein, dass du andere Argumente angeben müsstest, um JAR Dateien zu öffnen.
DKing schrieb:
Ich hab das mit dem Java Launcher zur .jar Datei gemacht. Wird das dadurch plattformabhängig, oder gibt es bestimmte befehle die nur unter Win vorhanden sind [...]
Normalerweise sind schon die .class Dateien Plattformunabhängig.
-
Ich nutzt Suse 9.2 ohne was ohn der VM gedreht zu haben.
-
Ah ich hab den Fehler, es liegt am Code. Unter Win32 funzt der alerdings will Linux anstadt:
Main.add()
->
Main.getContentPane().add()
also im Grunde eine genauere Angabe. Jetzt gehts
Linux und Win32 einwandfrei, aber nun ein neues Problem. Die Konsole unter Linux gibt mir noch volgende Warnung, wie krieg ich die weg:
Warning: Cannot convert string "-b&h-lucida-medium-r-normal-sans--140---p--iso8859-1" to type FontStruct
die Meldung sagt mir zwar sehr genau wo der Fehler liegt, aber wie ich ihn wegkriegen kann is mir nich schleierhaft .Unter Windows hab ich noch ein kleines anderes Problem, und zwar wenn ich auf X drücke um die Anwendung zu killen, killt er sie nicht, den im TaskManager unter Prozesse wird der Prozess noch angezeicht. Starte ich die Anwendung erneut laufen zwei im Hintergrund, usw... . Klar kann ich den Prozess einfach killen über den Manager aber das ist nicht der Sinn der Sache
mfg
DKing
-
DKing schrieb:
und zwar wenn ich auf X drücke um die Anwendung zu killen, killt er sie nicht,
Du meinst du siehst die App nicht mehr, aber sie läuft noch im Hintergrund?
Es gibt da min. 2 Möglichkeiten deine App kalt zu machen:Das hier wäre der WindowListener für den Konstruktor:
addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { setVisible(false); System.exit(0); } });
Und hier, auch im Konstuktor, mit der JFrame Methode:
setDefaultCloseOperation(EXIT_ON_CLOSE);
Bye
-
Ähhm ja, da hat wohl einer schnell 'nen Beispielcode hingeschludert ... Bitte sag mir nicht das wird noch verkauft
-
HeHe
-
Naja weis den jetzt jemand wie man:
Warning: Cannot convert string "-b&h-lucida-medium-r-normal-sans--140---p--iso8859-1" to type FontStruct...loswird???
Nun ja unter Win ist er ruhig wie ein Grab. Unter Linux sagt er halt das
Naja es ist zwar nur ne Warnung, aber ich will wenn dann etwas ordentlich haben^^.
Hab den Code mal nen bisl abgeändert:import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MainSource extends JFrame{ public static void main(String Argumente[]) { //Font Font Textart=new Font("serif", 0, 24); //Bereich JLabel Bereich1 = new JLabel("Java, love it or leave it :)"); Bereich1.setForeground(Color.blue); Bereich1.setFont(Textart); //Fenster JFrame Fenster = new JFrame(); Fenster.setSize(640,480); Fenster.getContentPane().add(Bereich1); Fenster.setVisible(true); Fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Eventhandler Bereich1.addMouseListener( new MouseAdapter() { public void mouseClicked( MouseEvent e ) { if ( e.getClickCount() > 0 ) System.exit( 0 ); } } ); } }
Werde später noch ne schönere Klasse fürs Fenster ergänzen^^
mfg DKing
-
*hust*
-
Ich denke, du solltest mal überprüfen, welche Java-Version du auf deinen Systemen hast. Ich gehe mal stark davon aus, dass du auf Linux die Version 1.4.2 hast (ist die, die SUSE 9.2 mitliefert) und auf Windows Java 5. Das würde zumindest das Symptom erklären, dass du in Windows
Main.add()
verwenden kannst (eine in Java 5 neu eingebaute, zu Frame.add() analoge Methode JFrame.add()), in Linux aber
Main.getContentPane().add()
benutzen musst, eben weil in 1.4.2 noch nicht die Methode JFrame.add() existiert.
Ergo: Versionen auf deinen Betriebssystemen mittels "java -version" überprüfen und falls in Windows was mit "1.5.0xxx" und in Linux "1.4.2.xxx" o.Ä. steht, das Java 5 SDK ( http://java.sun.com/j2se/1.5.0/download.jsp ) herunterladen und auf Linux installieren ( http://www.linux-fuer-alle.de/doc_show.php?docid=190&catid=3 )
-
Danke für diesen Tipp!!!
Ich denke das ich aber noch bis Montag warte, denn dann krieg ich von einem Freund Suse 9.3 auf nen DVD+DL Rohling gebrannt. Denke mal das dieses System ne neuere Java-Version hat.Das ist das was ich an Linux liebe -> es ist legal .
mfg
DKingPS: Werd dan schreiben obs geklappt hat