Mega Code Archive

 
Categories / Java / Event
 

Setting the Initial Focused Component in a Window

import java.awt.Component; import java.awt.FlowLayout; import java.awt.Window; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; public class Main {   public static void main(String[] argv) throws Exception {     JFrame frame = new JFrame();     JButton component1 = new JButton("1");     JButton component2 = new JButton("2");     JButton component3 = new JButton("3");     frame.setLayout(new FlowLayout());     frame.add(component1);     frame.add(component2);     frame.add(component3);     InitialFocusSetter.setInitialFocus(frame, component2);     frame.pack();     frame.setVisible(true);   } } class InitialFocusSetter {   public static void setInitialFocus(Window w, Component c) {     w.addWindowListener(new FocusSetter(c));   } } class FocusSetter extends WindowAdapter {   Component initComp;   FocusSetter(Component c) {     initComp = c;   }   public void windowOpened(WindowEvent e) {     initComp.requestFocus();     e.getWindow().removeWindowListener(this);   } }