I wanted to be able to close my Java window by clicking on the x in the top left hand corner. To do this, I added the WindowListener interface as shown below. The window does not look much different (except that it is blue this time) but I can close it now without returning to the UNIX prompt and using Ctrl+C. As usual, click on the image to enlarge it and bring it into focus:
andrew@UBUNTU:~/Java$ cat AndrewsFrame.java
import java.awt.*;
import java.awt.event.*;
public class AndrewsFrame
extends Frame
implements WindowListener
{
public AndrewsFrame()
{
super("Andrew's Frame");
setSize(500,300);
setBackground(Color.blue);
setVisible(true);
addWindowListener(this);
}
public void windowClosing(WindowEvent x)
{
dispose();
System.exit(0);
}
public void windowActivated(WindowEvent x) { }
public void windowDeactivated(WindowEvent x) { }
public void windowOpened(WindowEvent x) { }
public void windowClosed(WindowEvent x) { }
public void windowIconified(WindowEvent x) { }
public void windowDeiconified(WindowEvent x) { }
public static void main (String args[])
{
AndrewsFrame af = new AndrewsFrame();
}
}
andrew@UBUNTU:~/Java$ javac AndrewsFrame.java
andrew@UBUNTU:~/Java$ java AndrewsFrame
import java.awt.*;
import java.awt.event.*;
public class AndrewsFrame
extends Frame
implements WindowListener
{
public AndrewsFrame()
{
super("Andrew's Frame");
setSize(500,300);
setBackground(Color.blue);
setVisible(true);
addWindowListener(this);
}
public void windowClosing(WindowEvent x)
{
dispose();
System.exit(0);
}
public void windowActivated(WindowEvent x) { }
public void windowDeactivated(WindowEvent x) { }
public void windowOpened(WindowEvent x) { }
public void windowClosed(WindowEvent x) { }
public void windowIconified(WindowEvent x) { }
public void windowDeiconified(WindowEvent x) { }
public static void main (String args[])
{
AndrewsFrame af = new AndrewsFrame();
}
}
andrew@UBUNTU:~/Java$ javac AndrewsFrame.java
andrew@UBUNTU:~/Java$ java AndrewsFrame