/*
* Swing version.
*/
import javax.swing.*;
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class WindowEventDemo extends JApplet
implements WindowListener,
ActionListener {
JTextArea display;
JFrame window;
JButton b1, b2;
static final String SHOW = "show";
static final String CLEAR = "clear";
final static String newline = "\n";
public void init() {
b1 = new JButton("Click to bring up a window.");
b1.setActionCommand(SHOW);
b1.addActionListener(this);
b2 = new JButton("Click to clear the display.");
b2.setActionCommand(CLEAR);
b2.addActionListener(this);
display = new JTextArea();
display.setEditable(false);
JScrollPane scrollPane = new JScrollPane(display);
scrollPane.setPreferredSize(new Dimension(200, 75));
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.add(b1, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
contentPane.add(b2, BorderLayout.SOUTH);
setContentPane(contentPane);
//Create but don't show window.
window = new JFrame("Window Event Window");
window.addWindowListener(this);
JLabel l = new JLabel("The applet listens to this window"
+ " for window events.");
window.getContentPane().add(l, BorderLayout.CENTER);
window.pack();
}
public void stop() {
window.setVisible(false);
}
public void windowClosing(WindowEvent e) {
window.setVisible(false);
displayMessage("Window closing", e);
}
public void windowClosed(WindowEvent e) {
displayMessage("Window closed", e);
}
public void windowOpened(WindowEvent e) {
displayMessage("Window opened", e);
}
public void windowIconified(WindowEvent e) {
displayMessage("Window iconified", e);
}
public void windowDeiconified(WindowEvent e) {
displayMessage("Window deiconified", e);
}
public void windowActivated(WindowEvent e) {
displayMessage("Window activated", e);
}
public void windowDeactivated(WindowEvent e) {
displayMessage("Window deactivated", e);
}
void displayMessage(String prefix, WindowEvent e) {
display.append(prefix
+ ": "
+ e.getWindow()
+ newline);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == SHOW) {
window.pack();
window.setVisible(true);
} else {
display.setText("");
}
}
}
|