我正在使用 Java 中的 Selenium WebDriver – 如何执行Ctrl+V
命令将剪贴板上已经存在的文本粘贴到编辑框中?
问问题
1432 次
2 回答
0
首先,如果 java 应用程序作为 applet 或 JNLP 运行,则需要对其进行签名。JRE 沙箱不允许 system.copy 粘贴缓冲区与您的程序共享。但是,如果您正在运行存储在本地文件系统上的 jar 文件,这不是问题。
要访问复制粘贴缓冲区,您可以尝试包 java.awt.datatransfer 中的类您可以在此处找到使用示例: http ://www.javapractices.com/topic/TopicAction.do?Id=82
复制和粘贴实际上非常复杂,因为不同的应用程序可以允许传输不同类型的数据。这种复杂性由 DataFlavor 处理。看:
https://blogs.oracle.com/JavaFundamentals/entry/transferring_text_through_the_clipboard
于 2012-07-02T21:05:53.590 回答
0
这是一种方法...
public static void main(String[] args) {
final JTextField textField = new JTextField(25);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(textField, BorderLayout.NORTH);
frame.add(new JButton(new AbstractAction("Paste") {
public void actionPerformed(ActionEvent e) {
Action pasteAction = TransferHandler.getPasteAction();
ActionEvent actionEvent = new ActionEvent(textField, 0, "paste");
pasteAction.actionPerformed(actionEvent);
}
}), BorderLayout.SOUTH);
frame.setSize(300, 500);
frame.setVisible(true);
}
于 2012-07-02T21:00:22.330 回答