Java JComponent make component not focusable

Description

Java JComponent make component not focusable

import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

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

class MouseEnterFocusMover extends MouseAdapter {
   public void mouseEntered(MouseEvent mouseEvent) {
      Component component = mouseEvent.getComponent();
      if (!component.hasFocus()) {
         component.requestFocusInWindow();
      }/*from  w  w  w . j a v  a2  s.c o m*/
   }
}

public class Main {
   public static void main(String args[]) {
      JFrame frame = new JFrame("Focus Sample");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      MouseListener mouseListener = new MouseEnterFocusMover();
      frame.setLayout(new GridLayout(3, 3));
      JButton button = new JButton("0");
      button.addMouseListener(mouseListener);
      button.setFocusable(false);
      frame.add(button);

      button = new JButton("1");
      button.addMouseListener(mouseListener);
      frame.add(button);

      button = new JButton("2");
      button.addMouseListener(mouseListener);
      frame.add(button);
      
      frame.setSize(300, 200);
      frame.setVisible(true);
   }
}



PreviousNext

Related