JTextArea by default has Copy/Paste functionality, but you need to use shortcut keys (e.g Cntl-C/V on Windows) to access. I need to add popupup to access functionality for more niave users.
Done this and it works on Windows, but is this portable, are the actions copy-to-clipboard/paste-from-clipboard available on all platforms ?
public class CopyPastePopup extends JPopupMenu
{
public CopyPastePopup(JTextComponent ta)
{
Action copy = ta.getActionMap().get("copy-to-clipboard");
copy.putValue(NAME, TextLabel.COPYBUTTON.getMsg());
copy.putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
Action paste = ta.getActionMap().get("paste-from-clipboard");
paste.putValue(NAME, TextLabel.PASTEBUTTON.getMsg());
paste.putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
add(copy);
add(paste);
}
}
Use as
mask.setComponentPopupMenu(new CopyPastePopup(mask));