8.1 | Einführendes Beispiel |
Das folgende Beispiel zeigt eine einfache Applikation (ein Fenster, das von javax.swing.JFrame begeleitet ist). Sie besitzt neben einem Textfeld (javax.swing.JTextField) einen Knopf (javax.swing.JButton), bei dessen Drücken ein kleiner Dialog (javax.swing.JOptionPane) erscheint.
Um die Platzierung dynamisch zu gestalten, wird als LayoutManager (Abschnitt 8.8) das java.awt.BorderLayout verwendet.
package de.dpunkt.swing.simpleapp; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextField; public class SimpleApp extends JFrame { /** * Konstruktor */ public SimpleApp() { // Der Titel des Fensters soll der // Name der Klasse sein super(SimpleApp.class.getName()); // Layout-Manager setzen getContentPane().setLayout(new BorderLayout()); // Ein Textfeld oben an den Rand setzen getContentPane().add(new JTextField("Texteingabe"), BorderLayout.NORTH); // Button anlegen JButton button = new JButton("Klick mich!"); // Der Button soll einen Dialog starten // Hier wird eine anonyme, innere Klasse für das // Event-Handling benutzt. button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog ( (JButton) e.getSource(), "Danke."); } }); // Den Button in der Mitte platzieren getContentPane().add(button, BorderLayout.CENTER); // Größe setzen (oder pack() aufrufen) setSize(200, 100); // Wenn jemand das Fenster schließt, soll // die Applikation beendet werden // (System.exit (0) wird aufgerufen) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Fenster sichtbar machen setVisible(true); } /** * Start-Methode, Aufruf über * java de.dpunkt.swing.simpleapp.SimpleApp */ public static void main(String[] argv) { new SimpleApp(); } }