A temporary focus-lost event occurs if the focus moves to another window. It's temporary because the component will gain the focus when its window becomes active again.

A permanent focus-lost event occurs if the focus moves to another component in the same window.

An example where this distinction might come in handy is in text field validation; a text field might not validate its contents in the case of a temporary loss of focus.

    
component.addFocusListener(new MyFocusListener());
    
    public class MyFocusListener extends FocusAdapter {
        public void focusGained(FocusEvent evt) {
            // The component gained the focus.
        }
        public void focusLost(FocusEvent evt) {
            // The component lost the focus.
            boolean isTemporary = evt.isTemporary();
        }
    }

 

Related Examples