我的程序有大量的JTextField元素。我想提供一种方法将文本字段中的文本复制到系统剪贴板。我发现了多种在线方式(例如here)的方法,但它们在多个字段中表现不佳,没有为每个元素发送垃圾邮件重复代码,这对于大量文本来说几乎不可取字段。
那么,是否有一种简单的方法可以添加从Java Swing应用程序中复制和粘贴多个文本字段的功能?
答案 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);