programm noch einmal starten

moe_joe

Mitglied
hi, hab ein problem. ich habe einen button, der beim draufklicken das programm neustarten lassen loss. nur irgendwie klappt das ganze noch nicht so wirklich! hat jemand ne idee was ich falsch gemacht habe? ich habe mir gedacht da sich den durchlaufenen Panel vom Frame enferne und dann dem Frame ein neue Instanz des Panels hinzufüge.
Code:
               Button button1 = new Button("Nochmal");
               button1.setPreferredSize(new Dimension(80,20));
               button1.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent arg0) {
                   System.out.print("Nochmal...");
                   frame.remove(hangman);
                   frame.add.hangman panel = new hangman();
                   }
 
Hallo,

wäre gut gewesen, wenn du mal erklärt hättest, was dein Fehler ist.

Heißt deine klasse hangman und dein Object, oder ist das hier ein Tippfehler?

Diese Zeile ist auch nicht korrekt
Code:
 frame.add.hangman panel = new hangman();

Da ich aber nicht weiß, wie dein Object und deine Klasse heißen, kann ich leider nicht das richtige posten.

MFG

zEriX
 
sorry^^

Code:
import java.awt.*;
import java.awt.event.*;
import java.math.*;     // für die Zufallszahl
import java.io.*;      // für Dateioperationen


public class hangman extends Panel { 
    // Globale Variablen
    final static int WND_B=425, WND_H=350;
    final int SX=50, SY=50;
    RandomAccessFile file;
    String myword=null;  // das zu erratene wort
    char xyword[];        // das ungelöste Wort
    char probed[];
    char notprobed[];
    char alphab[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
                   'O','P','Q','R','S','T','U','V','W','X','Y','Z',
		           'Ä','Ö','Ü','ß'};
    int mistakes=0;  // Anzahl der Fehler
    int tries=0;     // Anzahl der Versuche
    KL CONTROL;
    char c;
 
    public hangman() {                // Hauptroutine
    	
	String stmp=new String();
	try {
	    int wordcount=0;           // neuer Integer für Wörterzahl
	    int wordseek=0;            // ~ für Zielwort-Position
	    RandomAccessFile f=new RandomAccessFile("hangman.dat","r");
	    while ((stmp=f.readLine())!=null) {  // solange das, was wir lesen, noch sichtbar ist
		if (stmp.charAt(0) != '#') {      // und wenn kein '#' am anfang steht
		    wordcount++;                  // zähle es als Wort
		}  
	    }
	    if (wordcount==0) {
	    	System.out.println("ACHTUNG! In der Datendatei sind keine gültigen Wörter zu finden.");
	    	System.exit(0);
	    }
	    System.out.println("Woerter in Datendatei: "+wordcount);  // Statusbericht
	    while (wordseek==0) {    // Solange wordseek noch 0 ist, tue ...
		wordseek=(int)(Math.random()*wordcount)+1;  // hol' Dir einen Integer-Wert
	    }
	    System.out.print("Ausgewaehltes Wort: #"+wordseek);  // Statusbericht
	    f.seek(0);      // Position auf Dateianfang setzen
	    wordcount=0;    // Wieder auf NULL

	    while ((stmp=f.readLine())!=null) {   // und das ganze von vorne
		if (stmp.charAt(0) != '#') {
		    wordcount++;
		    if (wordcount==wordseek) {     // wenn an der Position, die wir suchen ...
			myword=stmp;               // setze myword auf gerade gelesenen String
			break;                    
		    }
		}
	    }
	    f.close();         // Datei wieder schließen
	}
	catch(IOException ioe) {    // Falls ein Fehler auftreten sollte Fehlermeldung ausgeben
	    System.out.println("IOException: "+ioe.toString());  // Fehlermeldung
	    System.out.println("\n\nFehler beim Bearbeiten der Datendatei. Stellen Sie sicher, daß die Datei HANGMAN.DAT auch existiert und lesbar ist.");
	    System.exit(0);
	}
	
	CONTROL=new KL();   // neuer KeyListener: CONTROL
	addKeyListener(CONTROL);  // hinzufügen
	xyword=new char[myword.length()];      // array erstellen
	for (int i=0;i<myword.length();i++) {  // array initialisieren
	    xyword[i]='_';
	}
	probed=new char[alphab.length];                // array erstellen
	notprobed=new char[alphab.length];
	for (int i=0;i<alphab.length;i++) {            // array initialisieren
	    probed[i]='-';
	    notprobed[i]=alphab[i];
	}
    }
  public void update(Graphics g)
    {
         paint(g);
    }

    public void paint(Graphics g) {      // die Grafiken
    Toolkit tk=Toolkit.getDefaultToolkit(); 
	// g.drawString("Datensaetze: "+maxdat,40,350);
	// g.drawString("Wort: "+myword,40,200);
	// g.drawString("Zeichen: "+c,40,230);
	g.setColor(Color.white);           // Farbe auf Weiß
	g.fillRect(0,0,WND_B,WND_H);       // Fenster Weiß machen
	g.setColor(Color.black);          // Farbe auf Schwaz setzen
	g.drawImage(tk.getImage("images/bg.gif"),1,1,this);
	g.drawString("Wort: "+new String(xyword),40,215);
	if (mistakes!=-1) {
	    g.drawString("Buchstaben: ",40,260);
	    for (int i=0;i<alphab.length;i++) {
		g.drawChars(probed,i,1,118+i*8,260);
		g.drawChars(notprobed,i,1,118+i*8,275);
	    }
	    g.drawString("Fehler: "+mistakes,40,230);
	}
	UpdateHangMan(g);    // Hangman updaten
    }

    public void UpdateHangMan(Graphics g) {
	Toolkit tk=Toolkit.getDefaultToolkit();   // Toolkit (für Grafikdatei-Support) zuweisen
	
	switch(mistakes) {   // CASE mistakes of ...
	case 6:
	    g.drawImage(tk.getImage("images/hm6.gif"),SX,SY,this);
	    g.setColor(Color.red);
	    g.drawString(">>> VERLOREN <<<",WND_B/2-70,WND_H/2+10);
	    g.setColor(Color.white);
	    g.drawString("Das gesuchte Wort war '"+myword+"'!",WND_B/4-100,WND_H/2-10);
	    removeKeyListener(CONTROL);   // Tastenkontrolle abschalten
	    break;
	case 5:
	    g.drawImage(tk.getImage("images/hm5.gif"),SX,SY,this);
	    break;
	case 4:
	    g.drawImage(tk.getImage("images/hm4.gif"),SX,SY,this);
	    break;
	case 3:
	    g.drawImage(tk.getImage("images/hm3.gif"),SX,SY,this);
	    break;
	case 2:
	    g.drawImage(tk.getImage("images/hm2.gif"),SX,SY,this);
	    break;
	case 1:
	    g.drawImage(tk.getImage("images/hm1.gif"),SX,SY,this);
	    break;
	case 0:
	    g.drawImage(tk.getImage("images/hm0.gif"),SX,SY,this);
	    break;
	case -1:
	    g.drawImage(tk.getImage("images/hm.gif"),SX,SY,this);
	    g.setColor(Color.green);
	    g.drawString(">>> GEWONNEN <<<",WND_B/2-70,WND_H/2+10);
	    g.drawString(">>> GEWONNEN <<<",WND_B/2-70,WND_H/2+10);
	    removeKeyListener(CONTROL);
	    break;
	}

    }

    class KL implements KeyListener {
	public void keyPressed(KeyEvent e) { }
	public void keyReleased(KeyEvent e) { }
	public void keyTyped(KeyEvent e) {
	    c=e.getKeyChar();              // Taste holen
	    c=Character.toUpperCase(c);    // Buchstabe(?) evtl. GROß machen
	    int i;                        
	    boolean status=false;        // Booleans
	    boolean check=false;         // für versch. Status-Werte
	    for (i=0;i<alphab.length;i++) {
	    	if (c==alphab[i]) {        // wenn c = einer der Buchstaben des Alphabets ist ...
		    if (probed[i]!=c) probed[i]=c; else check=true;  // und der noch nicht vorher getippt wurde, dann ... u.s.w.
		    if (notprobed[i]==c) notprobed[i]='-';
		}
	    }
	    int underscores=0;            // Integer für Anzahl der "_" im bisherigen Wort
	    for (i=0;i<myword.length();i++) {
		if (c==Character.toUpperCase(myword.charAt(i))) {
		    xyword[i]=myword.charAt(i);
		    status=true;
		}
		if (xyword[i]=='_') underscores++;
	    }
	    if (!status && !check) mistakes++;  // wenn der Buchstabe Falsch ist und nicht schon einmal getippt wurde mistakes+1
	    if (!check) tries++;   // solange kein doppelter Tip: tries+1;
	    if (underscores==0 || mistakes>=6) {
		System.out.println(" ("+myword+")");
		System.out.println("Anzahl Versuche: "+tries+"    davon falsch: "+mistakes);
		System.out.println("Getippte Buchstaben: "+new String(probed));
		System.out.println("Anzahl versch. Buchstaben im Wort: "+(tries-mistakes));
		System.out.println("Trefferquote: "+(((tries-mistakes)*100)/tries)+"%");
	    }
	    if (underscores==0) mistakes=-1;   // wenn keine fehlenden Zeichen im Lösungswort ...
	    if (mistakes>=6) mistakes=6;       // wenn mehr als 5 Fehler gemacht wurden
	    repaint();        // Grafikfenster neuzeichnen
	}
    }
    public static void main(String args[]) {
    	   Frame frame=new Frame();       // neues Fenster
    	        frame.addWindowListener(new WindowAdapter() {   // WindowListener hinzufügen
    	            public void windowClosing(WindowEvent e) {  // wenn auf X geklickt:
    	                System.out.println();
    	                System.exit(0);       // Programm beenden.
    	            }
    	        });
    	        
    	        frame.setLayout(new BorderLayout());
    	        Panel buttonPanel = new Panel();
    	        buttonPanel.setLayout(new FlowLayout());
    	       
    	        Button button1 = new Button("Nochmal");
    	        button1.setPreferredSize(new Dimension(80,20));
    	        button1.addActionListener(new ActionListener() {
    	            public void actionPerformed(ActionEvent arg0) {
    	            System.out.print("Nochmal...");
    	            frame.remove(panel hangman);
    	            frame.add.hangman panel = new hangman();
    	            }

    	        Button button2 = new Button("Beenden");
    	        button2.setPreferredSize(new Dimension(80,20));
    	        button2.addActionListener(new ActionListener() {
    	            public void actionPerformed(ActionEvent arg0) {
    	            System.out.print("Bis zum nächsten mal...");
    	            System.exit(0); 
    	            }
    	      });
    	       
    	        buttonPanel.add(button1);
    	        buttonPanel.add(button2);
    	       
    	        frame.add(buttonPanel,BorderLayout.SOUTH);
    	       
    	        hangman panel = new hangman();
    	        frame.add(panel,BorderLayout.CENTER);
    	       
    	        frame.setTitle(".:Hangman:.");  // Titel setzen
    	        frame.setSize(WND_B, WND_H);   // Größe setzen
    	        frame.setVisible(true);                  // auf den Bildschirm
    	        panel.requestFocusInWindow();
    	    } 
}
 
Erstmal sollte man Klassen in Java groß schreiben (Hangman). Wie heißt dein object in der Frame-Klasse, also in der Klasse wo es deinem Frame hinzugefügt wird?
Objecte und Klassen sollte nämlich auch nicht gleich heißen.

Versuch es mal so

Code:
Button button1 = new Button("Nochmal");
button1.setPreferredSize(new Dimension(80,20));
button1.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
      System.out.print("Nochmal...");
      frame.remove(hangman);
      frame.add(hangman = new Hangman());
                   }

Das berücksichtigt jetzt, dass die Klasse groß geschrieben wird und dein Hangman-Object hangman heißt.


MFG

zEriX
 
hab das mit der klasse jetzt geändert usw, kriegt jetzt aber nur fehlermeldungen:"Cannnot refer to a non-final variable frame inside an inner class defenied in a different method", "Hangman cannot be resolved"...
 
Du musst frame final machen und bzw mit einer final variable draufschauen.
Code:
final JFrame f = frame;

Das machst du direkt vor dem ActionListener. Im actionListener ersetzt du dann frame durch f.

Die zweite Fehlermeldung kommt - denke ich mal - weil du Hangman importieren musst.

MFG

zEriX
 
Also ich habe es jetzt so gemacht:
Code:
                Button button1 = new Button("Nochmal");
               button1.setPreferredSize(new Dimension(80,20));
               button1.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent arg0) {
                   System.out.print("Nochmal...");
                   frame.getContentPane().remove(Hangman);
                   frame.getContentPane().add(Hangman = new Hangman());
                   frame.repaint();
                   }



und krieg folgende fehler meldungen:

- bei allen drei "frame." sagt er: Cannot refer to a non-final variable frame inside an inner class definied in a different method

- dann sagt er zu den "Hangman" nach "frame.getContentPane().": Hangman canot be resolved

- und zu "getContentPane()" sagt er: is undefined for the type frame
 
Ok, jetzt weiß ich was dein Fehler ist.

Code:
frame.getContentPane().remove(Hangman);
Das funktioniert so nicht. Du musst da ein Object angeben und keine Klasse.

Hast du nirgends ein Object von Hangman angelegt?
Code:
Hangman xx = new Hangman()

Wie wird denn das Hangman-Panel das erste mal dem Frame hinzugefügt?

Die Methode müsste nachher ungefähr so aussehen. Ich gehe jetzt mal davon aus, dass du irgendwo schon ein Object von Hangman anlegst. Ich nenne es einfach mal "hangmanInstance".
Code:
final JFrame f = frame;
Button button1 = new Button("Nochmal");
               button1.setPreferredSize(new Dimension(80,20));
               button1.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent arg0) {
                   System.out.print("Nochmal...");
                   f.getContentPane().remove(hangmanInstance);
                   f.getContentPane().add(hangmanInstance = new Hangman());
                   f.repaint();
                   }


Ein Rat von mir ist noch, dass du dir erstmal die Grundlagen von Java anschaust.

MFG

zEriX
 
ja das ich mir die grundlagen angucken soll hab ich schon des öfteren gehört^^.... das problem dabei is aber das ich auf der arbeit sitze und cheffe sagt du:"du hast hangman ja schonmal mit c++ programmiert, dann mach das mal jetzt mit java". Hab aber noch nie vorher mit java gearbeitet. Das mit den ganzen klassen, instanzen usw is komplettes neuland für mich. solangsam fang ich an es einiegermaßen zu verstehen und nun muss ich zusehen wie ich das hinkriege. :confused: bin zwar dabei mich durch java ist auch eine insel zu lesen aber das dauert halt seine zeit. und da ich nich der theoretiker bin sondern eher durchs praktische arbeiten lerne, versuch ich da jetzt stück für stück voran zu kommen. bis jetzt ist auch alles noch wunderbar, das programm läuft soweit, oberfläche krieg ich auch neinigermaßen hin, beenden button geht... aber der olle button zum neustarten halt nicht.(ich will wieder mein c++^^ das vieeeel einfacher programm neustarten zu lassen) also bitte nich zu übel nehmen das ich teilweise die ein oder andere dumme frage stell, habt doch verständnis für mich :rolleyes:

moejoe
 
Hab's jetzt mal so probiert

Code:
import java.awt.*;
import java.awt.event.*;
import java.io.*;      // für Dateioperationen

import javax.swing.JFrame;

public class Hangman extends Panel { 
	   
	private static final long serialVersionUID = 1L;
	// Globale Variablen
    final static int WND_B=425, WND_H=350;
    final int SX=50, SY=50;
    RandomAccessFile file;
    String myword=null;  // das zu erratene wort
    char xyword[];        // das ungelöste Wort
    char probed[];
    char notprobed[];
    char alphab[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
                   'O','P','Q','R','S','T','U','V','W','X','Y','Z',
		           'Ä','Ö','Ü','ß'};
    int mistakes=0;  // Anzahl der Fehler
    int tries=0;     // Anzahl der Versuche
    KL CONTROL;
    char c;
 
    public Hangman() {                // Hauptroutine
    	
	String stmp=new String();
	try {
	    int wordcount=0;           // neuer Integer für Wörterzahl
	    int wordseek=0;            // ~ für Zielwort-Position
	    RandomAccessFile f=new RandomAccessFile("hangman.dat","r");
	    while ((stmp=f.readLine())!=null) {  // solange das, was wir lesen, noch sichtbar ist
		if (stmp.charAt(0) != '#') {      // und wenn kein '#' am anfang steht
		    wordcount++;                  // zähle es als Wort
		}  
	    }
	    if (wordcount==0) {
	    	System.out.println("ACHTUNG! In der Datendatei sind keine gültigen Wörter zu finden.");
	    	System.exit(0);
	    }
	    System.out.println("Woerter in Datendatei: "+wordcount);  // Statusbericht
	    while (wordseek==0) {    // Solange wordseek noch 0 ist, tue ...
		wordseek=(int)(Math.random()*wordcount)+1;  // hol' Dir einen Integer-Wert
	    }
	    System.out.print("Ausgewaehltes Wort: #"+wordseek);  // Statusbericht
	    f.seek(0);      // Position auf Dateianfang setzen
	    wordcount=0;    // Wieder auf NULL

	    while ((stmp=f.readLine())!=null) {   // und das ganze von vorne
		if (stmp.charAt(0) != '#') {
		    wordcount++;
		    if (wordcount==wordseek) {     // wenn an der Position, die wir suchen ...
			myword=stmp;               // setze myword auf gerade gelesenen String
			break;                    
		    }
		}
	    }
	    f.close();         // Datei wieder schließen
	}
	catch(IOException ioe) {    // Falls ein Fehler auftreten sollte Fehlermeldung ausgeben
	    System.out.println("IOException: "+ioe.toString());  // Fehlermeldung
	    System.out.println("\n\nFehler beim Bearbeiten der Datendatei. Stellen Sie sicher, daß die Datei HANGMAN.DAT auch existiert und lesbar ist.");
	    System.exit(0);
	}
	
	CONTROL=new KL();   // neuer KeyListener: CONTROL
	addKeyListener(CONTROL);  // hinzufügen
	xyword=new char[myword.length()];      // array erstellen
	for (int i=0;i<myword.length();i++) {  // array initialisieren
	    xyword[i]='_';
	}
	probed=new char[alphab.length];                // array erstellen
	notprobed=new char[alphab.length];
	for (int i=0;i<alphab.length;i++) {            // array initialisieren
	    probed[i]='-';
	    notprobed[i]=alphab[i];
	}
    }
  public void update(Graphics g)
    {
         paint(g);
    }

    public void paint(Graphics g) {      // die Grafiken
    Toolkit tk=Toolkit.getDefaultToolkit(); 
	// g.drawString("Datensaetze: "+maxdat,40,350);
	// g.drawString("Wort: "+myword,40,200);
	// g.drawString("Zeichen: "+c,40,230);
	g.setColor(Color.white);           // Farbe auf Weiß
	g.fillRect(0,0,WND_B,WND_H);       // Fenster Weiß machen
	g.setColor(Color.black);          // Farbe auf Schwaz setzen
	g.drawImage(tk.getImage("images/bg.gif"),1,1,this);
	g.drawString("Wort: "+new String(xyword),40,215);
	if (mistakes!=-1) {
	    g.drawString("Buchstaben: ",40,260);
	    for (int i=0;i<alphab.length;i++) {
		g.drawChars(probed,i,1,118+i*8,260);
		g.drawChars(notprobed,i,1,118+i*8,275);
	    }
	    g.drawString("Fehler: "+mistakes,40,230);
	}
	UpdateHangMan(g);    // Hangman updaten
    }

    public void UpdateHangMan(Graphics g) {
	Toolkit tk=Toolkit.getDefaultToolkit();   // Toolkit (für Grafikdatei-Support) zuweisen
	
	switch(mistakes) {   // CASE mistakes of ...
	case 6:
	    g.drawImage(tk.getImage("images/hm6.gif"),SX,SY,this);
	    g.setColor(Color.red);
	    g.drawString(">>> VERLOREN <<<",WND_B/2-70,WND_H/2+10);
	    g.setColor(Color.white);
	    g.drawString("Das gesuchte Wort war '"+myword+"'!",WND_B/4-100,WND_H/2-10);
	    removeKeyListener(CONTROL);   // Tastenkontrolle abschalten
	    break;
	case 5:
	    g.drawImage(tk.getImage("images/hm5.gif"),SX,SY,this);
	    break;
	case 4:
	    g.drawImage(tk.getImage("images/hm4.gif"),SX,SY,this);
	    break;
	case 3:
	    g.drawImage(tk.getImage("images/hm3.gif"),SX,SY,this);
	    break;
	case 2:
	    g.drawImage(tk.getImage("images/hm2.gif"),SX,SY,this);
	    break;
	case 1:
	    g.drawImage(tk.getImage("images/hm1.gif"),SX,SY,this);
	    break;
	case 0:
	    g.drawImage(tk.getImage("images/hm0.gif"),SX,SY,this);
	    break;
	case -1:
	    g.drawImage(tk.getImage("images/hm.gif"),SX,SY,this);
	    g.setColor(Color.green);
	    g.drawString(">>> GEWONNEN <<<",WND_B/2-70,WND_H/2+10);
	    g.drawString(">>> GEWONNEN <<<",WND_B/2-70,WND_H/2+10);
	    removeKeyListener(CONTROL);
	    break;
	}

    }

    class KL implements KeyListener {
	public void keyPressed(KeyEvent e) { }
	public void keyReleased(KeyEvent e) { }
	public void keyTyped(KeyEvent e) {
	    c=e.getKeyChar();              // Taste holen
	    c=Character.toUpperCase(c);    // Buchstabe(?) evtl. GROß machen
	    int i;                        
	    boolean status=false;        // Booleans
	    boolean check=false;         // für versch. Status-Werte
	    for (i=0;i<alphab.length;i++) {
	    	if (c==alphab[i]) {        // wenn c = einer der Buchstaben des Alphabets ist ...
		    if (probed[i]!=c) probed[i]=c; else check=true;  // und der noch nicht vorher getippt wurde, dann ... u.s.w.
		    if (notprobed[i]==c) notprobed[i]='-';
		}
	    }
	    int underscores=0;            // Integer für Anzahl der "_" im bisherigen Wort
	    for (i=0;i<myword.length();i++) {
		if (c==Character.toUpperCase(myword.charAt(i))) {
		    xyword[i]=myword.charAt(i);
		    status=true;
		}
		if (xyword[i]=='_') underscores++;
	    }
	    if (!status && !check) mistakes++;  // wenn der Buchstabe Falsch ist und nicht schon einmal getippt wurde mistakes+1
	    if (!check) tries++;   // solange kein doppelter Tip: tries+1;
	    if (underscores==0 || mistakes>=6) {
		System.out.println(" ("+myword+")");
		System.out.println("Anzahl Versuche: "+tries+"    davon falsch: "+mistakes);
		System.out.println("Getippte Buchstaben: "+new String(probed));
		System.out.println("Anzahl versch. Buchstaben im Wort: "+(tries-mistakes));
		System.out.println("Trefferquote: "+(((tries-mistakes)*100)/tries)+"%");
	    }
	    if (underscores==0) mistakes=-1;   // wenn keine fehlenden Zeichen im Lösungswort ...
	    if (mistakes>=6) mistakes=6;       // wenn mehr als 5 Fehler gemacht wurden
	    repaint();        // Grafikfenster neuzeichnen
	}
    }
    public static void main(String args[]) {
    	   JFrame frame=(JFrame) new Frame();       // neues Fenster
    	        frame.addWindowListener(new WindowAdapter() {   // WindowListener hinzufügen
    	            public void windowClosing(WindowEvent e) {  // wenn auf X geklickt:
    	                System.out.println();
    	                System.exit(0);       // Programm beenden.
    	            }
    	        });
    	        
    	        frame.setLayout(new BorderLayout());
    	        Panel buttonPanel = new Panel();
    	        buttonPanel.setLayout(new FlowLayout());
    	       
    	        final JFrame f = frame;
    	        Button button1 = new Button("Nochmal");
    	                       button1.setPreferredSize(new Dimension(80,20));
    	                       button1.addActionListener(new ActionListener() {
    	                       public void actionPerformed(ActionEvent arg0) {
    	                           System.out.print("Nochmal...");
    	                           f.getContentPane().remove(HangmanInstance);
    	                           f.getContentPane().add(HangmanInstance = new Hangman());
    	                           f.repaint();
    	                           }
    	      });
    	        Button button2 = new Button("Beenden");
    	        button2.setPreferredSize(new Dimension(80,20));
    	        button2.addActionListener(new ActionListener() {
    	            public void actionPerformed(ActionEvent arg0) {
    	            System.out.print("Bis zum nächsten mal...");
    	            System.exit(0); 
    	            }
    	      });
    	       
    	        buttonPanel.add(button1);
    	        buttonPanel.add(button2);
    	       
    	        frame.add(buttonPanel,BorderLayout.SOUTH);
    	       
    	        Hangman panel = new Hangman();
    	        frame.add(panel,BorderLayout.CENTER);
    	       
    	        frame.setTitle(".:Hangman:.");  // Titel setzen
    	        frame.setSize(WND_B, WND_H);   // Größe setzen
    	        frame.setVisible(true);                  // auf den Bildschirm
    	        panel.requestFocusInWindow();
    	    } 
}

da kommt jetzt noch die fehlermeldung "HangmanInstance cannot be resolved"
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück