import javax.swing.*; import java.awt.event.*; import javax.swing.text.*; import java.awt.*; public class InputMapComponents{ JFrame frame; JPanel panel; JLabel label; JTextArea area; JScrollPane pane; InputMap map; public static void main(String[] args) { InputMapComponents m = new InputMapComponents(); } public InputMapComponents(){ frame = new JFrame(" Adding an InputMap to a Component"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel = new JPanel(); area = new JTextArea(7,10); pane = new JScrollPane(area); map = area.getInputMap(); KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_C, Event.CTRL_MASK); map.put(key, DefaultEditorKit.cutAction); key = KeyStroke.getKeyStroke(KeyEvent.VK_Y, Event.CTRL_MASK); map.put(key, DefaultEditorKit.copyAction); key = KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK); map.put(key, DefaultEditorKit.pasteAction); key = KeyStroke.getKeyStroke(KeyEvent.VK_L, Event.CTRL_MASK); map.put(key, DefaultEditorKit.backwardAction); key = KeyStroke.getKeyStroke(KeyEvent.VK_R, Event.CTRL_MASK); map.put(key, DefaultEditorKit.forwardAction); key = KeyStroke.getKeyStroke(KeyEvent.VK_U, Event.CTRL_MASK); map.put(key, DefaultEditorKit.upAction); key = KeyStroke.getKeyStroke(KeyEvent.VK_D, Event.CTRL_MASK); map.put(key, DefaultEditorKit.downAction); String lbl = "" + "Ctrl+p = paste" + "
" + "Ctrl+y = copy" + "
" + "Ctrl+c = cut" + "
" + "Ctrl+l = cursor shift left one character" + "
" + "Ctrl+r = cursor shift right one character" + "
" + "Ctrl+u = cursor shift up one line" + "
" + "Ctrl+d = cursor shift down one line" + "
"; JLabel label = new JLabel(lbl); panel.add(pane); panel.add(label); frame.add(panel); frame.setSize(400,200); frame.setVisible(true); } }