Grundlagen der Programmierung 2 SS 2005 - Datei Windows.java
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Windows extends JFrame
{
JButton newWindow;
JTextField message;
int counter = 0;
// Die Listener-Klasse zum Schliessen der neuen Fenster:
class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
JFrame source = (JFrame) e.getSource();
source.dispose(); // Fenster wird geschlossen
message.setText(source.getTitle() + " geschlossen.");
}
}
// Der Listener zum Schliessen der neuen Fenster:
WindowCloser closer = new WindowCloser();
// Konstruktor:
public Windows()
{
super("Many Windows");
Container content = getContentPane();
content.setLayout(new BorderLayout());
newWindow = new JButton("Neues Fenster");
content.add(newWindow, BorderLayout.SOUTH);
// Listener zum Erzeugen neuer Fenster:
newWindow.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JFrame f = new JFrame("Fenster " + counter++);
f.addWindowListener(closer);
f.setSize(200, 200);
f.setVisible(true);
}
});
message = new JTextField(40);
message.setEditable(false);
content.add(message, BorderLayout.NORTH);
setSize(400, 80);
setLocation(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
JFrame f = new Windows();
}
}
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 09.05.2005


