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