Hallo,
wir müssen AWT lernen und ich versuche gerade den Code aus dem Skript zu verstehen. Irgendwie möchte aber der WindowClosingAdapter nicht funktionieren. Der Code ist so 1:1 aus meinem Skript kopiert:
Und:
Egal wie oft ich im Fenster auf das X drücke: es schließt sich nicht. Habe ich die Funktion vom WindowsClosingAdapter hier falsch verstanden? Oder liegt das Problem an einer anderen Stelle?
Per Google habe ich andere Code-Beispiele gefunden, bei denen die windowClosing-Methode nur aus "System.exit(0)" bestand, aber das hat bei mir auch nicht funktioniert (hatte den Rest dementsprechend angepasst).
Kann mir jemand helfen?
Grüße
wir müssen AWT lernen und ich versuche gerade den Code aus dem Skript zu verstehen. Irgendwie möchte aber der WindowClosingAdapter nicht funktionieren. Der Code ist so 1:1 aus meinem Skript kopiert:
Code:
import java.awt.*;
public class MouseEvents extends Frame {
Canvas c = null;
public static void main(String[] args) {
MouseEvents wnd = new MouseEvents();
}
public MouseEvents() {
super("Mausklick");
addWindowListener(new WindowClosingAdapter(true));
setLocation(200, 100);
c = new Canvas();
c.setBackground(Color.yellow);
c.setSize(200, 300);
add(c);
c.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent event) {
Graphics g = c.getGraphics();
int x = event.getX();
int y = event.getY();
g.drawOval(x - 10, y - 10, 20, 20);
}
});
pack();
setVisible(true);
}
}
Code:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class WindowClosingAdapter extends WindowAdapter {
private boolean exitSystem;
public WindowClosingAdapter(boolean exitSystem) {
this.exitSystem = exitSystem;
}
public WindowClosingAdapter() {
this(false);
}
public void windowClosing(WindowEvent event) {
event.getWindow().setVisible(false);
event.getWindow().dispose();
if (exitSystem) {
System.exit(0);
}
}
}
Egal wie oft ich im Fenster auf das X drücke: es schließt sich nicht. Habe ich die Funktion vom WindowsClosingAdapter hier falsch verstanden? Oder liegt das Problem an einer anderen Stelle?
Per Google habe ich andere Code-Beispiele gefunden, bei denen die windowClosing-Methode nur aus "System.exit(0)" bestand, aber das hat bei mir auch nicht funktioniert (hatte den Rest dementsprechend angepasst).
Kann mir jemand helfen?
Grüße