如何返回在Java中复制的值?
我有一个java程序,其中我使用Robot,通过Robot我选择一个web链接,我需要从复制链接的代码中提取如何返回在Java中复制的值?,java,Java,我有一个java程序,其中我使用Robot,通过Robot我选择一个web链接,我需要从复制链接的代码中提取 public void copyCtrlC() { robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_C); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_C); } 我立即用以下方法提取
public void copyCtrlC() {
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_C);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_C);
}
我立即用以下方法提取值:
public String getClipboard()
{
// Obtenemos el contenido del portapapeles del sistema.
Clipboard portapapeles=Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable datos=portapapeles.getContents(null);
if(datos.isDataFlavorSupported(DataFlavor.stringFlavor)){
try
{
return (String) ((Clipboard) datos).getData(DataFlavor.stringFlavor);
}
catch (UnsupportedFlavorException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
// Si lo copiado no es un texto, devolvemos null
return null;
}
这个返回返回一个空值,但是当我调试时,我可以执行ctrl+v,如果它返回我复制的值
已编辑
通过首先使用复制数据进行验证
public void copy() {
this.vpn = "copy";
StringSelection stringSelection = new StringSelection(this.vpn);
clipboard.setContents(stringSelection, null);
}
之后,我对页面的同一链接使用方法copyCtrlC()
,并尝试使用getClipboard()
它返回“copy”的值,这是我首先复制的值,而不是链接检查实际支持的数据样式,
stringFlavor
可能不受支持