Я использую следующие строки для имитации действия клавиши Control_A [выбрать все] в Java с роботом, но буфер обмена не получает текст, почему?
Robot robot=null;
try { robot=new Robot(); }
catch (AWTException ex) { System.err.println("Can't start Robot: " + ex); }
robot.mouseMove(260,500);
robot.mousePress(InputEvent.BUTTON1_MASK);
// robot.mouseMove(660,700);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.keyPress(KeyEvent.VK_CONTROL); // Select all
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_CONTROL); // Copy
robot.keyPress(KeyEvent.VK_C);
robot.keyRelease(KeyEvent.VK_C);
robot.keyRelease(KeyEvent.VK_CONTROL);
Transferable t=Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
try
{
if (t!=null && t.isDataFlavorSupported(DataFlavor.stringFlavor))
{
String text=(String)t.getTransferData(DataFlavor.stringFlavor);
System.out.println(text);
}
}
catch (Exception ex) { ex.printStackTrace(); }
У меня открыт браузер, поэтому на экране [260,500] есть текст в этой области. Что я пропустил?
Edit:
Я только что нашел что-то странное, когда я открывал браузер, текст в браузере не копирует, но если я открою блокнот / WordPad, текст в них будет копией, так почему браузер не сделал этого