Mega Code Archive

 
Categories / Java / Event
 

Demonstrating the FocusListener

import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class FocusTest {   public static void main(String args[]) {     JFrame frame = new JFrame();     Container contentPane = frame.getContentPane();     FocusListener listener = new FocusListener() {       public void focusGained(FocusEvent e) {         dumpInfo(e);       }       public void focusLost(FocusEvent e) {         dumpInfo(e);       }       private void dumpInfo(FocusEvent e) {         System.out.println("Source  : " + name(e.getComponent()));         System.out.println("Opposite : "             + name(e.getOppositeComponent()));         System.out.println("Temporary: " + e.isTemporary());       }       private String name(Component c) {         return (c == null) ? null : c.getName();       }     };     // First     JPanel panel = new JPanel();     JLabel label = new JLabel("Label 1: ");     JTextField text = new JTextField("Type your text", 15);     text.setName("First");     text.addFocusListener(listener);     label.setDisplayedMnemonic(KeyEvent.VK_1);     label.setLabelFor(text);     panel.add(label);     panel.add(text);     contentPane.add(panel, BorderLayout.NORTH);     // Second     panel = new JPanel();     label = new JLabel("Label 2: ");     text = new JTextField("14.0", 10);     text.setName("Second");     text.addFocusListener(listener);     text.setHorizontalAlignment(JTextField.RIGHT);     label.setDisplayedMnemonic(KeyEvent.VK_2);     label.setLabelFor(text);     panel.add(label);     panel.add(text);     contentPane.add(panel, BorderLayout.SOUTH);     frame.pack();     frame.show();   } }