首页 > 解决方案 > 在 Java 中,动作复制到剪贴板可在所有平台上移植

问题描述

JTextArea 默认具有复制/粘贴功能,但您需要使用快捷键(例如 Windows 上的 Cntl-C/V)才能访问。我需要添加弹出窗口以访问更多天真的用户的功能。

完成此操作,它可以在 Windows 上运行,但这是可移植的,操作复制到剪贴板/从剪贴板粘贴在所有平台上都可用吗?

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);
    }
}

用于

mask.setComponentPopupMenu(new CopyPastePopup(mask));

标签: javaswingcopy-paste

解决方案


推荐阅读