Kompilieren eines Programmes & GUI

Chocobanana

Erfahrenes Mitglied
Hi Leute!

Ich muss mal vorab sagen dass ich nicht so der Java Held bin. Ich quäl mich zwar mit den Tutorials von Sun herum, aber hin und wieder hakts halt gewaltig. Ich hab nun in Netbeans mein Programm so gebastelt dass es macht was ich will und dort drinnen klapts auch (main.class und parser.class). Nun beschäftigen mich zwei Fragen: Wie kann ich das Prog so kompilieren, dass es als EXE auf jedem PC läuft? Also ohne dass der Benutzer noch weitere JAR's (ich verwende einige) oder sonst was inkludieren muss.

Fein wäre natürlich um das Programm herum ein GUI zu basteln, aber da steh ich total an. Ich finde immer nur Tutorials wo in das JFrame der Code gesteckt wird. KAnn man im Nachhinein noch ein GUI basteln?

Danke schon mal,
Bye
 

Matze

Weltenwanderer
Wie kann ich das Prog so kompilieren, dass es als EXE auf jedem PC läuft?

Verbessert mich, wenn das nicht ganz Stimmt, aber EXE ist so ein Windows Ding. Aber wieso willst du unbedingt ein EXE. Java ist doch schon Platfomrunabhängig.
Fein wäre natürlich um das Programm herum ein GUI zu basteln, aber da steh ich total an. Ich finde immer nur Tutorials wo in das JFrame der Code gesteckt wird. KAnn man im Nachhinein noch ein GUI basteln?

Wenns sauber programmiert wurde eigentlich schon.
 

Chocobanana

Erfahrenes Mitglied
Also exe war nur als synonym für "klick mich und es klappt" gemeint ;-) Und sauber programmiert sollte es sein. Kannst mir irgendein Tutorial empfehlen wo ich mich in diesen Bereich von Java einarbeiten kann? Gerade bezüglich Swing und existierenden Sources konnte ich noch nichts passendes finden....
 

Clash

Erfahrenes Mitglied
gib bei google mal javabuch ein, da bekommst du den link zum buch von guido krüger, da steht einiges über awt und swing, das dürfte für erste eigene fenster auf jeden fall reichen
 

zerix

Hausmeister
Moderator
Hallo,

schau dir mal das hier an
http://www.galileocomputing.de/openbook/javainsel7/

Dort gibts einen Bereich für GUI-Programmierung mit Swing.

Java-Projecte werden meistens als JAR ausgeliefert. Diese können auch mit drauf klicken gestartet werden. Wenn du andere APIs verwendest, musst du diese natürlich mit ausliefern.

MFG

Sascha
 

grandmetre

Mitglied
Eine EXE ist in dem Sinne, wie sie in Windows verwendet wird nicht möglich. Das liegt daran, dass der compilierte Programmcode erst zur Laufzeit von der java virtual machine für das Betriebssystem übersetzt wird. Das heißt im Klartext: der java Compiler übersetzt den Code für die virtual machine und diese erst beim Starten des Programms für den Rechner. So braucht man dann nur noch eine eigene virtual machine für jedes Betriebssystem und muss nicht jedes mal, wenn sich dieses ändert neu compilieren.
 

grandmetre

Mitglied
Das aber nur über umwege. Es gibt die Möglichkeit, beispielsweise mit Pearl oder c++, die jar Datei über die virtual machine direkt fürs Betriebssystem übersetzen zu lassen, um dann damit eine EXE erzeugen zu können. Das ist aber warscheinlich genau so aufwendig, dass man den ganzen code auch direkt in diesen Sprachen verfassen kann. Eine andere Lösing versprechen diverse Tools. Ich habe aber bis jetzt noch keine gescheites entdecken können, da jedes dieser Tools irgendwelche Macken aufwies, oder eine EXE-Datei erzeugte, die die virtual machine mit der entsprechenden jar Datei aufruft. Da kann man auch hergehen und eine batch datei schreiben, die nur eine Zeile mit java -jar [jar-Datei] enthalten muss. So kann man auch mit einem Doppelklick starten.
 

zerix

Hausmeister
Moderator
Hallo,

es gibt Native Compiler für Java, die keine Class-Files sondern eine Exe-Datei erzeugen, bzw eine ausführbare Datei für Linux.

Mal ein Beispiel
http://jnc.mtsystems.ch/

Jar-Dateien kann man außerdem auch mit einem Doppelklick starten, solange man JAR-Dateien keine andere Anwendung zugeordnet hat.

MFG

Sascha