Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
wie starte ich ein Programm, dass ich programmiert habe im Matisse GUI Builder(NetBeans 5.0)
Ich habe JFrame und dort habe ich 1 JButton und 1JTextfield. Und jetzt will ich das Programm starten und mir mein Ergebnis anschauen. Ich klicke mein JFrame mit der Maus und und gehe dann oben im Menu auf RUN und dann auf Test "erstesProgramm". Dann macht er schnell irgendwas und gibt mir in der Konsole "JUnit results root node" aus und startet mein Programm nicht. Was mache ich falsch, wie kann ich mein Programm starten?
Ich kenne mich mit NetBeans noch nicht aus.
Danke im Voraus
PS: wenn ich auf OUTPUT unten klicke dann steht dort:
NetBeans Tutorial - Running Projects and Files hat gesagt.:
To run a project, package, or file, select it in the Projects window and choose one of the following:
-In the main menu, choose Run > Run Main Project (F6) to run the main project. Alternately, you can use the Run main project button in the toolbar.
-In the Projects window, right-click the project and choose Run Project to run a project.
-In the Projects window, right-click the file and choose Run File (Shift+F6) to run a file. Alternatively, choose Run > Run File > Run filename (Shift+F6) in the main menu. Note that if you are using a free-form project, this command is disabled by default. You have to write an Ant target for running the currently selected file in the IDE and map it to the Run File command.
Danke Dir, hat geklappt, ich habe Main.java und NewJFrame.java und ich habe immer versucht Main.java zu starten und habe mich gewundert warum ich kein JFrame sehe, also mein Programm.
Noch eine Frage, wie kann ich das Programm abspeichern, damit das Programm jemand ausführen kann, der kein NetBeans hat, also nur JFrame. Im Visual Studio C++ konnte man ein Programm im Format .exe abspeichern bzw hat es selber schon gemacht und wie geht das mit NetBeans?
NetBeans kann von sich aus keine exe-Datei erzeugen. Vielleicht ist es möglich mit Einbindung eines native code compilers in Ant.
Im Normalfall werden in Java jar-Dateien erzeugt, die aber ähnliche Eigenschaften wie eine exe-Datei haben, sie lassen sich also per Mausklick starten. Voraussetzung dafür ist eine kompatible JRE auf dem Zielrechner.
jar-Dateien kannst du mit NetBeans erzeugen.
Du kannst auch mal einen Blick in die FAQ werden, dort wird erklärt, wie man jar-Dateien "per Hand" erzeugt.
Wie man jar-Dateien mit NetBeans 5.0 erzeugt, müsste ich jetzt mal nachschauen. Vielleicht ist ja noch jemand schneller.
Hier hatte ich mal die Vorgehensweise gepostet für eine ältere Version: http://www.java-forum.org/de/viewtopic.php?t=11060
New Project: General | Java Application | Next > | Set as main project:yes | Create Main Class:yes [Name der Hauptklasse] | Finish
F11 (Build main project )
Fertig ! (das jar ist in Projectfolder\dist)
wenn ich F11 klicke dann erstellt er die jar Datei:
init:
deps-jar:
compile:
To run this application from the command line without Ant, try:
java -jar "C:\Dokumente und Einstellungen\swerflash\Eigene Dateien\Netbeans\ErstesProgramm\dist\ErstesProgramm.jar"
jar:
BUILD SUCCESSFUL (total time: 1 second)
nur wenn ich versuche die Datei zu starten, die sich im dist Ordner befindet, dann passiert nichts. Ich klicke ErstesProgramm.jar(mit doppelklick) an und sehe nicht. Es sollte eigentlich ein JFrame mit einem JButton und JTextField angezeigt werden. Also der führt das Programm nicht aus. Woran könnte das liegen?
Hast du die Hauptklasse in der main()-Methode auch mit new erzeugt?
Code:
public class Main {
/** Creates a new instance of Main */
public Main() {
...
}
...
public static void main(String[] args) {
new Main();//<-- HIER <---------------------------
}
}
Wenn ja, biste ganz sicher daß du keine speziellen Manipulationen gemacht hast ?
Mach's mal genau so: File Menu --> New Project
- Categories: General
- Projects: Java Application
- Next >
Jetzt müssten default-Werte erscheinen, z.B.: - Project Name: JavaApplication3
- Project Location: c:\Document and Settings\uhrand
- Project Folder: c:\Document and Settings\uhrand\JavaApplication3
- Set as Main Project (abgehakt)
- Create Main Class(abgehakt): javaapplication3.Main
Lass mal alles so stehen wenn es diesem Beispiel soweit entspricht. Finish
Jetzt müsste dieser Code erscheinen:
Code:
/*
* Main.java
*
* Created on 14 mars 2006, 14:36
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package javaapplication3;
/**
*
* @author uhrand
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
"// TODO code application logic here" ersetzte durch "new Main();"
Den Konstruktor ersetzte durch:
Code:
/** Creates a new instance of Main */
public Main() {
JOptionPane.showMessageDialog(null, "OK");
}
Dann F11 drücken und die erzeugte jar-Datei testen durch Doppelklick auf die jar-Datei.
Dann müsste der Dialog mit dem OK-Button erscheinen.
Der Dialog muss natürlich auch kommen wenn du F6 drückst.
BTW, in der Datei ..\dist\README.txt stehen auch noch nützliche Informationen.
ich habe jetzt auf anderem PC NetBeans5 installiert. Wenn ich jetzt versuche meine jar zu öffnen, die sich im dist Ordner befindet, dann öffnet er die mit winzip. Mit welchem Programm muss ich das starten?
Viele Packprogramme schnappen sich die Dateiendung .jar, um sie öffnen/packen/entpacken zu können.
Öffne mal WinZip und deaktiviere die Einstellung, dass WinZip .jar-Dateien öffnen/packen/entpacken kann.
Danach kannst du jar-Dateien per Doppelklick starten.
Hmm, könnte knifflig werden.
Auf jeden Fall mit javaw.exe. Das Problem ist jetzt dabei, es kann sein, dass du die Dateiverknüpfung noch einmal editieren musst, damit das klappt.
Daher gleich ein Weg, der zwar komplizierter ist, dafür aber zum Ziel führt.
Klicke nacheinander Arbeitsplatz - Extras - Ordneroptionen -Dateitypen
Schaue nun in der Liste nach der Endung JAR. Diese sollte schon in der Liste sein.
Wenn sie wider Erwarten nicht drin ist, klickst du auf den Button Neu und gibst im Textfeld JAR ein. Mit Klick auf den Button Erweitert kannst du mal nach Executable Jar File suchen.
Ist es vorhanden, dann auswählen und OK klicken. Ist kein solcher Eintrag zu finden, dann legst du ihn so an.
Du kannst das Ganze jetzt noch überprüfen, bzw. musst die Verknüpfung anpassen, in dem du nochmal die Dateitypenliste öffnest und nach JAR suchst.
Wähle den Eintrag mit einfachem Mausklick aus und klicke dann den Button Erweitert.
Bei Aktionen sollte schon open drin stehen. Klicke nun den Button Bearbeiten.
Im Textfeld für Anwendung für diesen Vorgang: sollte nun folgendes drin stehen: "C:\Programme\Java\jre1.5.0_06\bin\javaw.exe" -jar "%1" %*
(...angepasst an dein System.)
Außerdem ist ein Haken an DDE verwenden notwendig.
Darunter im Textfeld für Anwendung muss javaw drin stehen.
Bestätige nun alles mit OK.
geht immer noch nicht, ich habe aber nicht alles verstanden bzw konnte nicht alles machen wie du das beschrieben hast.
Bei Dateitypen konnte ich JAR nicht finden, deshalb habe ich selber JAR erstellt.
Als ich auf Erweitert geklickt habe, habe ich Executable Jar File nicht gefunden und habe dann auf NEU gelassen. Dann habe ich auf Ändern geklickt um ihm zu sagen, mit was er das öffnen soll und habe Java(TM) 2 Platform Standard Edition binary ausgewählt(javaw.exe). Und auf Ok gedrückt, wenn ich jetzt versuche das zu öffnen, dann kriege ich Fehler. Could not find main class. Programm will exit.
Das Programm funktioniert jedoch in NetBeans einwandfrei und kann auch ohne Problemen starten, verstehe das nicht hmmm.
Was meintest du damit? Außerdem ist ein Haken an DDE verwenden notwendig. Also mit DDE.
Ich habe auch alles richtig gemacht, New Projet-> etc... wie man mir unten aufgeschrieben hat, so habe ich aber eigentlich immer gemacht.
Im Textfeld für Anwendung für diesen Vorgang: sollte nun folgendes drin stehen: "C:\Programme\Java\jre1.5.0_06\bin\javaw.exe" -jar "%1" %*
(...angepasst an dein System.)
Passt das hier auch? Steht das bei dir für die Dateiendung drin?
Falls du es nicht hinbekommst kannst du auch das JRE deinstallieren und neu installieren, dann müsste die Endung wieder auf Java registriert sein.
Neuinstallation gerade versucht und hat nichts gebracht.
Bei Vorgänge steht bei mir open bei Anwendung für dieses Vorgang steht C:\Programme\Java\jdk1.5.0_06\bin\javaw.exe "%1" und DDE verwenden aktiviert. Liegt das vieleicht an NetBeans5, dass der irgendwas falsch macht?
kann ich jemanden mein Programm schicken? also mit allen Ordnern die NetBeans erstellt hat und kann jemand sich das bitte anschauen und vieleicht findet ihr raus woran das liegt?
Ist ganz kleines Programm, besteht aus 2 jTextField und 1 JButton
Habe das verpackt mit winrar 68,3 KB (69.976 Bytes).
Also auch mit allen Anführungszeichen etc. Und natürlich muss die JRE bei dir auch in dem Verzeichnis installiert sein, wie angegeben. D.h., es kann sein, dass du den Eintrag anpassen musst.
Versuche auch mal dein Programm auf der Konsole mit java -jar MeinProgramm.jar zu starten.
Funktioniert das? Wenn nicht bitte die Fehlermeldung posten.
Sollte das nicht helfen kannst du mir eine PN schicken, dann tauschen wir mal unsere Mail-Adressen.
OK, habe das Programm erhalten, angesehen und bin zu folgendem Schluss gekommen:
Dein Programm besteht aus einer Klasse Main und einer Klasse NewFrame, die mehrere anonyme Klassen definiert.
Die Klasse NewFrame und die Klasse Main haben beide eine main()-Methode. Während die main()-Methode der Klasse NewFrame laut Code die Klasse starten kann, ist die Implementierung main()-Methode der Klasse Main leer.
Daraufhin habe ich die Manifest-Datei der jar-Datei auf ihren Inhalt hin überprüft.
Der Interpreter soll also die Klasse Main als Einstiegspunkt deiner Applikation verwenden, aber die main()-Methode, die ausgeführt werden soll ist leer!
main() in Main hat gesagt.:
Code:
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
Warum editierst Du nicht einfach das Manifest? Doppelt hält zwar besser, aber in dem Fall völlig überflüssig.
Übrigens, wenn Du bei Netbeans in den Projektproperties die Main-Klasse setzt, und das Projekt neu Bauen lässt, sollte im "dist" Verzeichnis alles liegen, was Du benötigst um das Projekt weiterzugeben.
Alles, was in diesem Verzeichnis ist, wird zum ausführen benötigt - man kann netBeans 5.0 bestimmt auch mitteilen, das alles in eine einzige .jar-Datei zu packen, und da möchte ich gerne wissen, wie. Mir geht es speziell um die swing-layout-1.0.jar, die netBeans unter dist/lib/ erstellt.