Programm geht nicht


import java.awt.*;
import java.awt.event.*;

public class Listing2802
extends Frame
implements KeyListener
{
  public static void main(String[] args)
  {
    Listing2802 wnd = new Listing2802();
  }

  public Listing2802()
  {
    super("Nachrichtentransfer");
    setBackground(Color.lightGray);
    setSize(300,200);
    setLocation(200,100);
    setVisible(true);
    addKeyListener(this);
  }

  public void paint(Graphics g)
  {
    g.setFont(new Font("Serif",Font.PLAIN,18));
    g.drawString("Zum Beenden bitte ESC drücken...",10,50);
  }

  public void keyPressed(KeyEvent event)
  {
    if (event.getKeyCode() == KeyEvent.VK_ESCAPE) {
      setVisible(false);
      dispose();
      System.exit(0);
    }
  }

  public void keyReleased(KeyEvent event)
  {
  }

  public void keyTyped(KeyEvent event)
  {
  }
}```
habe folgenden code aber wenn cih jetzt die java Datei ausführe geht es nicht das sich nen fenster öffnet und wenn ich die class ausführe öffnet isch auch nix auser (bei beiden) das dos fenster kurz und schließt sich wieder.
Kann mir jemand helfen??? ich finds doof wenn man programme net starten kann.
Ach ja dieser Java-code ist aus nem Buch(Handbuch der Java Programmierung(5. Auflage)

Bei mir funktioniert das Programm ohne Probleme.

Du musst zuerst die .java Datei in eine .class Datei mit javac kompilieren und dann mit java ausführen. Das sind Basics und die solltest du drauf haben, bevor du mit der GUI-Programmierung anfängst. Ich habe aber das Gefühl, dass du die Basics für unwichtig erachtet hast, und ein paar Kapitel übersprungen hast.

Also: Ich habe die Basics nicht über sprungen, ich lerne sie grad aber des mit umwandeln geht schon und sowas ich hab des nur mal rausgesucht und probiert aber dann gings net und dann dieses Thema hier keine Sorge ich lerne sorgfältig xD
Aber ich habe dieses Problem auhc mir normalen println Programmen wenn ich die Class von z…B.

public class eigenes
{
   public static void main(String[] args)
   {
      System.out.println("Test");
           
  

   }
}```
und wenn ich davon die class starte  blinkt nur kurz ein schwarzes Fenster auf ich muss es über cmd machen mit cd c:\ und so weiter dann geht println
Edit: bei mir funktioniert es auch wenn ich cd C:\programme\java\jdk1.6.0_10\bin
javac c:	emp\Listing2802
cd C:	emp
c:\programme\java\jdk1.6.0_10\bin\java Listing2802
,ach dann geht es bei mir auhc aber  wenn ich die class datei starten will blinkt das Dos fenster nur auf

Denk dran, dass die Klasse so heissen muss wie die .java-Datei: PiffPaffPuffTest.java => class PiffPaffPuffTest…

Ähh ja da hab ich vorhin was getestet und falsch eingefügt^^ dews hieß schon rihctig aber da gings auch nicht
also es ging auch mit

public class eigenes
{
   public static void main(String[] args)
   {
      System.out.println("Test");
           
  
 
   }
}```

Für das Teil doch mal von Hand über die Konsole aus - ohne irgendwelche Startskripts oder so. Dann poppt nicht nur kurz ein “schwarzes Fenster” auf, sondern du kannst dir die Fehlermeldung angucken und uns zur Verfügung stellen.

Da ist wenn ich des Teil aber manuell starte keine Fehlermeldung das ist es ja aber wenn ich di class mit doppelklick starte dann blinkt das dos fenster nur auf jar file startet gar nicht und java file da popt des dos fenster auhc nur auf need Help sonst kann ich net weiter lernen

[QUOTE=Dendem]```/eigenes.java/
public class eigenes
{
public static void main(String[] args)
{
System.out.println(“Test”);

}
}```[/QUOTE]

also du hast den Code oben im File “eigenes.java” ?!

  • ruf die Console auf und geh in das Verzeichnis in dem sich die .java befindet
  • rufe “javac eigenes.java” auf
  • jetzt muss da eine eigenes.class liegen
  • ruf “java eigenes” auf

das ists…

Es liegt ja nicht dadran das ich keine clas serstellen kann, es liegt da drann das das dos fenster nur aufblinkt wenn ich die class oder java starte

Erklär mir bitte, in welchem Betriebssystem man eine .class-Datei ‚anklicken‘ kann?

Dann reden wir über den Rest.

Also wenn ich jetzt z.B. im oberen Listing2802 script das ganze in cmd mache geht es wenn ich jedoch das java file so anklicke geht es nicht das dos enster blinkt nur auf sonst passiert nix, ich könnte auch ne batch schreiben, aber wie soll cih das machen?
@echo off
cd…
cd…
start /jdk1.6.0_10\bin\java bla
oder wie

Du baust Wände, bevor das Fundament steht.
Warum gehst du nicht in die Konsole und machst es, wie man dir empfohlen hat? Dann hast du auch einen Erfolg. Wenn nicht, erscheint eine Fehlermeldung - diese hier gepostet, damit können wir was anfangen, ok? Man macht doch nicht den zweiten vor dem ersten Schritt…:wink:

also ich glaube ihc verstehe deine Frage nciht so was soll ich in der Console jetzt amchen? SOll ich das wieder langsam per hand ausführen oder soll ich nen Pfad oder sowas setzen?

Hast du etwa die Dateiendung “class” mit der Eingabeaufforderung verknüpft? Oder warum poppt da irgendwas auf, wenn du auf eine class-Datei doppelt klickst?

Na cmd poppt kurz auf wenn ich sowohl die .class doppelklicke als auch die java und wenn ich die jar doppelklicke passiert garnix

Wenn du auf Dos-Ebene was startest ‘poppt’ garnichts kurz auf, sondern es werden Fehler/Warnungen ausgegeben. Was soll da poppen (The_S wieder mit seinen eineindeutigen Worten…:D)?
Und dort lässt sich auch nichts anklicken. Keine Ahnung, ob ich jetzt einen Knoten im Hirn hab, aber irgendwie versteh ich’s grad nicht.

Edit: Ahhh, ich glaub, jetzt kapier ich dein Problem. Bau mal am Ende deines Codes ein:

Thread.sleep(5000);

ein. Dann wartet dein Programm (der aktuelle Thread) 5 Sekunden, bevor es sich wieder beendet.

Da kein Programm Beine hat, geht keines ::grins
scnr

Hmm also der code bringt auch nix des verschwindet immernoch genauso schnell und wartet nicht ich kann theoretisch mal nen video machen und es auf youtube hochlade, mach ich dann morgen oder übermorgen, habe heute keine Zeit.
Edit: mein Code sieht so aus

public class eigenes
{
   public static void main(String[] args)
   {
      System.out.println("Test");
      Thread.sleep(5000);     
  

   }
}

Wie meinst du das: ‚so anklicke‘?
Du klickst die Datei eigenes.class an? Wo denn? In einem Windows-Fenster? Erzähl mal alles.
eigenes.class ist keine anklickbare Datei. Die lässt sich nur in der Konsole ausführen! Wenn du sowas haben möchtest, musst du daraus ein Archiv nahmens eigenes.jar basteln.

Edit: Wenn du es mit einer .bat machen willst, musst du genau das Gleiche dort reinschreiben, was du auch an der Konsole eingeben würdest. Vorrausgesetzt, deine Pathvariable ist richtig gesetzt, sollte das funktionieren. Denke ich jedenfalls - habs noch nie ausprobiert.

Ja des java file und die class datei, sind beide mit java verknüpft aber so gaht das nicht, mich würde das mal interessieren wie ich des mit nem jar file amchenkönnte also das ich des ins jar file mach und es dann startet wie z.B. Listing2802 oder so denn programme starte ich ja auf dem desktopt und nicht immer mit konsole daher würde ich gerne näheres erfahren.