Supportnet / Forum / Anwendungen(Java,C++...)
JAVA: AWT-Frame schliessen
Frage
Hallo,
ich habe eine Frage und zwar: Wenn ich mir ein AWT-Frame erstelle, kann ich es nicht schließen, wenn ich oben rechts auf das Kreuzchen klicke. (java.awt.frame)
Wie lautet der Befehl dazu? Bei einem Swing-JFrame is das ja relativ easy...aber nen AWT-Fenster?
Der Quellcode is folgender:
[code]
package jotobisstiftundco;
import java.awt.*;
/**
* <p>Überschrift: </p>
* <p>Beschreibung: </p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Organisation: </p>
* @author unbekannt
* @version 1.0
*/
public class jotobisBildschirm
{ Frame frame;
public jotobisBildschirm(int breite, int hoehe, String titel)
{ frame = new Frame(titel);
frame.setSize(breite, hoehe);
frame.setVisible(true);
}
public void setzeGroesse(int breite, int hoehe)
{ frame.setSize(breite, hoehe);
}
}
[/code]
Danke im Vorraus,
jotobi
Antwort 1 von mr_x_hacker
Nu, bei AWT (wieso nicht Swing?) mußt Du noch manuell einen WindowListener nebst implementierter windowClosing()-Methode an den Frame hängen, damit was passiert...
Ciao Sascha
Ciao Sascha
Antwort 2 von jotobi
bei Swing klappt das mit dem hintergrundfarbe setzen nich so richtig.
Wie setze ich den window-listener? Kannst du mir das mal in meinen code reinsetzen?
danke
jotobi
Wie setze ich den window-listener? Kannst du mir das mal in meinen code reinsetzen?
danke
jotobi
Antwort 3 von jotobi
1. sry 4 doppelpost
2. spar dir die arbeit ich habs geschafft:
Nochmal DANKE!!!
jotobi
2. spar dir die arbeit ich habs geschafft:
package jotobisstiftundco;
import java.awt.*;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
/**
* <p>Überschrift: </p>
* <p>Beschreibung: </p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Organisation: </p>
* @author unbekannt
* @version 1.0
*/
class FensterWeg extends Frame implements WindowListener
{ Frame frame;
public FensterWeg(Frame f,int breite, int hoehe)
{ frame = f;
frame.setSize(breite,hoehe);
frame.setVisible(true);
frame.addWindowListener(this);
}
public void windowClosing (WindowEvent event)
{ System.exit(0);
}
public void setzeGroesse(int breite, int hoehe)
{ frame.setSize(breite, hoehe);
}
public void windowClosed ( WindowEvent event ) {}
public void windowDeiconified( WindowEvent event ) {}
public void windowIconified ( WindowEvent event ) {}
public void windowActivated ( WindowEvent event ) {}
public void windowDeactivated( WindowEvent event ) {}
public void windowOpened ( WindowEvent event ) {}
}
public class jotobisBildschirm
{ Frame frame;
public jotobisBildschirm(int breite, int hoehe, String titel)
{ frame = new Frame(titel);
new FensterWeg(frame,breite,hoehe);
}
public Graphics getTheGraphics()
{ return frame.getGraphics();
}
}
Nochmal DANKE!!!
jotobi
Antwort 4 von lalala
dieses hier müsste auch das gleiche tun
this.frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Antwort 5 von Marvin42
Mal davon abgesehen, dass der Thread 2,5 Jahre alt ist, existiert die DefaultCloseOperation bei AWT nicht, das ist ein Swing-Feature.

