首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鼠标中键捕捉粘贴动作

鼠标中键捕捉粘贴动作
EN

Stack Overflow用户
提问于 2016-02-16 15:59:38
回答 1查看 218关注 0票数 0

我在一台linux机器上工作,与windows不同的是,有两个剪贴板,STRG和STRG剪贴板以及突出显示的文本,并通过鼠标中间按钮剪贴板粘贴。

现在,我尝试捕捉粘贴操作,因为我想验证剪贴板并防止textfield非法输入。

我用STRG成功地捕捉到了标准粘贴:

代码语言:javascript
复制
Action action = textField.getActionMap().get("paste-from-clipboard");
textField.getActionMap().put("paste-from-clipboard", new ProxyAction(action, "paste-from-clipboard"));

以及ProxyAction类的实现:

代码语言:javascript
复制
    public class ProxyAction extends TextAction
    {
        private Action action;

        public ProxyAction1(Action action, String actionName)
        {
            super(actionName);
            this.action = action;
       }

       @Override
       public void actionPerformed(ActionEvent e)
       {
           action.actionPerformed(e);
       }
   }

我的问题是,如何捕获linux特定的鼠标中间按钮粘贴?上面的代码没有得到它,来自jTextfield的操作“粘贴”也不能解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-16 16:04:05

我想验证剪贴板和防止文本字段的非法输入。

您可以使用DocumentFilter,而不是试图捕获粘贴键。在任何文本插入到DocumentFilter之前都会调用Document

无论文本是键入到文本字段还是粘贴到文本字段中,都会调用此筛选器。

有关更多信息,请参阅关于如何实现DocumentFilter的Swing教程中的部分。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35437215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档