我的一个程序有大量的 JTextField 元素。我想提供一种将文本从文本字段复制到系统剪贴板的方法。我在网上找到了多种执行此操作的方法(例如此处),但它们在多个字段中表现不佳,没有为每个元素发送重复代码的垃圾邮件,这对于大量文本字段来说几乎是不可取的。
那么,有没有一种简单的方法可以在 Java Swing 应用程序中添加从多个文本字段复制和粘贴的功能?
我的一个程序有大量的 JTextField 元素。我想提供一种将文本从文本字段复制到系统剪贴板的方法。我在网上找到了多种执行此操作的方法(例如此处),但它们在多个字段中表现不佳,没有为每个元素发送重复代码的垃圾邮件,这对于大量文本字段来说几乎是不可取的。
那么,有没有一种简单的方法可以在 Java Swing 应用程序中添加从多个文本字段复制和粘贴的功能?
创建您自己的将实现该功能的 JTextfield。
我总是做出相同的答案,但您可以使用Key Bindings
如何使用 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);