为大量JTextField提供复制/粘贴菜单

时间:2013-06-25 12:52:06

标签: java swing clipboard jtextfield

我的程序有大量的JTextField元素。我想提供一种方法将文本字段中的文本复制到系统剪贴板。我发现了多种在线方式(例如here)的方法,但它们在多个字段中表现不佳,没有为每个元素发送垃圾邮件重复代码,这对于大量文本来说几乎不可取字段。

那么,是否有一种简单的方法可以添加从Java Swing应用程序中复制和粘贴多个文本字段的功能?

2 个答案:

答案 0 :(得分:1)

创建自己的JTextfield,以实现该功能。

答案 1 :(得分:1)

我总是做出相同的答案,但您可以使用Key Bindings How to use KeyBindings

假设您的文本字段位于同一个容器中..

AbstractAction copyAction = new AbstractAction() {
    @Override
    public void actionPerformed(ActionEvent e) {
            for(Component c : container.getComponents()){
                     if(c instanceof JTextField){
                       //add copy paste action
                     }
            }
    }};
 String key = "YOUR KEY COMBINATION HERE";
 KeyStroke keyStroke = KeyStroke.getKeyStroke(key);
 component.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
 component.getActionMap().put(key, copyAction);