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






KeyboardFocusManager: focusNextComponent()

 
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.KeyboardFocusManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

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

public class MainClass {

  public static void main(String args[]) {
    JFrame frame = new JFrame("Focus Sample");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    ActionListener actionListener = new ActionFocusMover();
    MouseListener mouseListener = new MouseEnterFocusMover();

    frame.setLayout(new GridLayout(3, 3));
    for (int i = 1; i < 10; i++) {
      JButton button = new JButton(Integer.toString(i));
      button.addActionListener(actionListener);
      button.addMouseListener(mouseListener);
      if ((i % 2) != 0) {
        button.setFocusable(false);
      }
      frame.add(button);
    }

    frame.setSize(300, 200);
    frame.setVisible(true);
  }
}

class ActionFocusMover implements ActionListener {
  public void actionPerformed(ActionEvent actionEvent) {
    KeyboardFocusManager manager = KeyboardFocusManager
        .getCurrentKeyboardFocusManager();
    manager.focusNextComponent();
  }
}

class MouseEnterFocusMover extends MouseAdapter {
  public void mouseEntered(MouseEvent mouseEvent) {
    Component component = mouseEvent.getComponent();
    if (!component.hasFocus()) {
      component.requestFocusInWindow();
    }
  }
}

           
         
  








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: getFocusOwner()
7.KeyboardFocusManager: getFocusedWindow()