Mega Code Archive

 
Categories / Java / Event
 

Action, Mouse Focus

import java.awt.Component; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.*; import javax.swing.JButton; import javax.swing.JFrame; public class FocusSample {   public static void main(String args[]) {     JFrame frame = new JFrame("Focus Sample");     ActionListener actionListener = new ActionFocusMover();     MouseListener mouseListener = new MouseEnterFocusMover();     Container contentPane = frame.getContentPane();     contentPane.setLayout(new GridLayout(3, 3));     for (int i = 1; i < 10; i++) {       JButton button = new JButton("" + i);       button.addActionListener(actionListener);       button.addMouseListener(mouseListener);       if ((i % 2) != 0) {         button.setRequestFocusEnabled(false);       }       contentPane.add(button);     }     frame.setSize(300, 200);     frame.setVisible(true);   } } class ActionFocusMover implements ActionListener {   public void actionPerformed(ActionEvent actionEvent) {     Object source = actionEvent.getSource();     if (source instanceof Component) {       Component component = (Component) source;       component.transferFocus();     }   } } class MouseEnterFocusMover extends MouseAdapter {   public void mouseEntered(MouseEvent mouseEvent) {     Component component = mouseEvent.getComponent();     if (!component.hasFocus()) {       component.requestFocus();     }   } }