KeyboardFocusManager: getFocusOwner() : KeyboardFocusManager « java.awt « Java by API






KeyboardFocusManager: getFocusOwner()

 



import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.FocusTraversalPolicy;
import java.awt.KeyboardFocusManager;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {
  public static void main(String[] argv) {
    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);

    frame.pack();
    frame.setVisible(true);

    System.out.println(findPrevFocus().getName());
  }

  public static Component findPrevFocus() {
    Component c = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
    Container root = c.getFocusCycleRootAncestor();

    FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
    Component prevFocus = policy.getComponentBefore(root, c);
    if (prevFocus == null) {
      prevFocus = policy.getDefaultComponent(root);
    }
    return prevFocus;
  }
}

   
  








Related examples in the same category

1.KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
2.KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
3.KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
4.KeyboardFocusManager: addPropertyChangeListener(PropertyChangeListener listener)
5.KeyboardFocusManager: clearGlobalFocusOwner()
6.KeyboardFocusManager: focusNextComponent()
7.KeyboardFocusManager: getFocusedWindow()