View Javadoc
1   /*******************************************************************************
2    * Copyhacked (H) 2012-2025.
3    * This program and the accompanying materials
4    * are made available under no term at all, use it like
5    * you want, but share and discuss it
6    * every time possible with every body.
7    * 
8    * Contributors:
9    *      ron190 at ymail dot com - initial implementation
10   ******************************************************************************/
11  package com.jsql.view.swing.popupmenu;
12  
13  import javax.swing.*;
14  import javax.swing.text.DefaultEditorKit;
15  import javax.swing.text.JTextComponent;
16  import java.awt.event.InputEvent;
17  import java.awt.event.KeyEvent;
18  
19  /**
20   * Default popup menu for textfield and texteditor.
21   */
22  public class JPopupMenuText extends JPopupMenuComponent {
23      
24      /**
25       * Create popup menu for this component.
26       * @param component The component receiving the menu
27       */
28      public JPopupMenuText(JTextComponent component) {
29          super(component);
30  
31          if (component.isEditable()) {
32              JMenuItem cutItem = new JMenuItem();
33              cutItem.setAction(component.getActionMap().get(DefaultEditorKit.cutAction));
34              cutItem.setText("Cut");
35              cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_DOWN_MASK));
36              cutItem.setMnemonic('t');
37  
38              JMenuItem pasteItem = new JMenuItem();
39              pasteItem.setAction(component.getActionMap().get(DefaultEditorKit.pasteAction));
40              pasteItem.setText("Paste");
41              pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_DOWN_MASK));
42              pasteItem.setMnemonic('P');
43  
44              this.add(cutItem, 0);  // Before Copy menu
45              this.add(pasteItem, 2);  // After Copy menu
46          }
47      }
48  }