# [AWT] Fenster schliessen



## n00ki3 (26. Jun 2007)

Das ist ein Beispiel aus dieser Quelle

Er gibt hier 

```
addWindowListener(new WindowClosingAdapter(true));
```
einen Fehler aus .
Wenn ich die Zeile lösche ,dann funktioniert das programm ,kann aber das FEnser nicht schliessen ..
Hier der ganze Code :

```
/* Listing2903.java */
 
 import java.awt.*;
 import java.awt.event.*;
 
 public class Listing2903
 extends Frame
 {
   public static void main(String[] args)
   {
     Listing2903 wnd = new Listing2903();
     wnd.setSize(300,200);
     wnd.setLocation(200,100);
     wnd.setVisible(true);
   }
 
   public Listing2903()
   {
     super("Mausklicks");
     addWindowListener(new WindowClosingAdapter(true));
     addMouseListener(new MyMouseListener());
   }
 
   class MyMouseListener
   extends MouseAdapter
   {
     int cnt = 0;
 
     public void mousePressed(MouseEvent event)
     {
       Graphics g = getGraphics();
       int x = event.getX();
       int y = event.getY();
       if (event.getClickCount() == 1) { //Gesicht
         ++cnt;
         //Kopf und Augen
         g.drawOval(x-10,y-10,20,20);
         g.fillRect(x-6,y-5,4,5);
         g.fillRect(x+3,y-5,4,5);
         //Mund
         if (event.isMetaDown()) { //grimmig
            g.drawLine(x-5,y+7,x+5,y+7);
         } else {                  //lächeln
            g.drawArc(x-7,y-7,14,14,225,100);
         }
         //Zähler
         g.drawString(""+cnt,x+10,y-10);
       } else if (event.getClickCount() == 2) { //Brille
         g.drawLine(x-9,y-3,x+9,y-3);
       }
     }
   }
 }
```

Weiss einer Rat ?


----------



## merlin2 (26. Jun 2007)

Die Klasse WindowClosingAdapter gibt es nicht (vermutlich ist sie bei der Quelle - ich habe mir den Link nicht angesehen - dabei). Ersetze die Codezeile durch folgende:
	
	
	
	





```
addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent evt) {System.exit(0);}});
```
Hierbei wird nicht nur das Fenster geschlossen, sondern das gesamte Programm beendet. Wenn du nur das Fenster schließen willst, ersetze
	
	
	
	





```
System.exit(0);
```
durch
	
	
	
	





```
dispose();
```
Edit: Unten erwähnten Fehler im Code verbessert.


----------



## n00ki3 (26. Jun 2007)

hmm .. nun meckert er beim evt  :shock: <-- benutze Eclipse


----------



## Loep (26. Jun 2007)

WindowEvent evt
^- da is nen Leerzeichen dazwischen gerutscht, das da nicht sein sollte...


----------



## n00ki3 (26. Jun 2007)

hmm .. stimmt .
Jetzt klappt es .
SUPER!DANKE!
 :toll:


----------

