package javacodebook.gui.focus; import javax.swing.*; import java.awt.event.*; import java.awt.*; /** * In diesem Bespiel wird demonstriert wie man den Initialen Focus * einer Komponente setzen kann, geht bei Swing und bei Awt. * Verwendet wird hiebei ein kleiner Trick! */ public class FocusFrame extends Frame { private TextField field1 = new TextField(15); private TextField field2 = new TextField(15); private TextField field3 = new TextField(15); /** * Konstruktor von FocusFrame. */ public FocusFrame(String title) { super(title); this.setLayout(new FlowLayout()); // Die Vergabe des Focus bevor die Komponente sichtbar // gemacht wurde bleibt oft ohne Erfolg. // Trick: einen WindowListener registrieren, und erst // wenn das Fenster geöffnet wurde den Focus setzen. addWindowListener(new WindowAdapter() { public void windowOpened(WindowEvent e) { field2.requestFocus(); // Focus wird gesetzt } public void windowClosing(WindowEvent e) { System.exit(0); } }); // Platzieren der Komponenten this.add(field1); this.add(field2); this.add(field3); } }