JComponent: registerKeyboardAction(ActionListener anAction, KeyStroke aKeyStroke, int aCondition) : JComponent « javax.swing « Java by API






JComponent: registerKeyboardAction(ActionListener anAction, KeyStroke aKeyStroke, int aCondition)

  


import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.text.BadLocationException;

public class Main {
  public static void main(String args[]) {
    JFrame frame = new JFrame("Popup Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final JPopupMenu popup = new JPopupMenu();
    JMenuItem menuItem1 = new JMenuItem("Option 1");
    popup.add(menuItem1);

    JMenuItem menuItem2 = new JMenuItem("Option 2");
    popup.add(menuItem2);

    final JTextField textField = new JTextField();
    frame.add(textField, BorderLayout.NORTH);

    ActionListener actionListener = new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        try {
          int dotPosition = textField.getCaretPosition();
          Rectangle popupLocation = textField.modelToView(dotPosition);
          popup.show(textField, popupLocation.x, popupLocation.y);
        } catch (BadLocationException badLocationException) {
          System.err.println("Oops");
        }
      }
    };
    KeyStroke keystroke = KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0, false);
    textField.registerKeyboardAction(actionListener, keystroke, JComponent.WHEN_FOCUSED);

    frame.add(new JLabel("Press '.' to activate Popup menu"), BorderLayout.SOUTH);
    frame.setSize(250, 150);
    frame.setVisible(true);
  }
}

   
    
  








Related examples in the same category

1.JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
2.JComponent.WHEN_IN_FOCUSED_WINDOW
3.JComponent: addPropertyChangeListener(PropertyChangeListener listener)
4.JComponent: addVetoableChangeListener(VetoableChangeListener listener)
5.JComponent: getAccessibleContext()
6.JComponent: getActionMap()
7.JComponent: getHeight()
8.JComponent: getInputMap()
9.JComponent: getTransferHandler()
10.JComponent: getWidth()
11.JComponent: getX()
12.JComponent: getY()
13.JComponent: putClientProperty(Object key, Object value)
14.JComponent: requestFocusInWindow()
15.JComponent: revalidate()
16.JComponent: setComponentPopupMenu(JPopupMenu popup)
17.JComponent: setFont(Font font)
18.JComponent: setFocusTraversalKeys(int arg0, Set arg1)
19.JComponent: setInputMap(int condition, InputMap map)
20.JComponent: setInputVerifier(InputVerifier inputVerifier)
21.JComponent: setOpaque(boolean isOpaque)
22.JComponent: setTransferHandler(TransferHandler newHandler)