首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在组合框Java中复制文本?

如何在组合框Java中复制文本?
EN

Stack Overflow用户
提问于 2018-10-10 02:02:10
回答 1查看 0关注 0票数 0

我的要求是,如果用户按Ctrl+ C。组合框中的文本将自动复制(不突出显示,将复制整个单词)。所以,如果我去另一个组合框,我可以粘贴它。我是java新手,不知道怎么做,

这是场景要求的说明:

  1. 光标位于第一个组合框中,表示这是当前可编辑的。
在此处输入图像描述
在此处输入图像描述
  1. 用户按Ctrl+C
  2. 用户选择第三个组合框(光标位于第三个组合框,表示这是当前可编辑的)然后按Ctrl+V
在此处输入图像描述
在此处输入图像描述

到目前为止我只有这个

JTextComponent editor = (JTextComponent) combo.getEditor().getEditorComponent();
    Action test = new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
            //do function here
        }
    };

    editor.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK), "test");
    editor.getActionMap().put("test", test);
EN

回答 1

Stack Overflow用户

发布于 2018-10-10 11:23:42

为了其他可能会遇到这种奇怪需求的人的利益

JTextComponent editor = (JTextComponent) combo.getEditor().getEditorComponent();

    Action copyAllText = new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
            String item = combo.getEditor().getItem().toString().trim();
            StringSelection stringSelection = new StringSelection(item);
            Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
            clipboard.setContents(stringSelection, null);
        }
    };

    editor.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK), "copyAllText");
    editor.getActionMap().put("copyAllText", copyAllText);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008896

复制
相关文章

相似问题

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