Mega Code Archive

 
Categories / Java / Event
 

Listening to All Focus Changes Between Components and windows

import java.awt.Component; import java.awt.KeyboardFocusManager; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; public class Main {   public static void main(String[] argv) {     KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener(         new FocusChangeListener());   } } class FocusChangeListener implements PropertyChangeListener {   public void propertyChange(PropertyChangeEvent evt) {     Component oldComp = (Component) evt.getOldValue();     Component newComp = (Component) evt.getNewValue();     if ("focusOwner".equals(evt.getPropertyName())) {       if (oldComp == null) {         System.out.println(newComp.getName());       } else {         System.out.println(oldComp.getName());       }     } else if ("focusedWindow".equals(evt.getPropertyName())) {       if (oldComp == null) {         System.out.println(newComp.getName());       } else {         System.out.println(oldComp.getName());       }     }   } }