我通过鼠标突出显示文本,然后按Shift键显示包含剪贴板字符串的表单。
我的事件按shift会发送虚拟键(Ctr + C),然后我调用函数windowsclickandsee()从剪贴板中获取突出显示的文本。 但这是错误的。
例如:
在我的剪贴板中已经有一个字符串 - (" 1234")。
步骤1:我选择一个文本 - ("你好")并突出显示它。
第2步:我按shift
结果:
Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor)
为"1234"
并按ctr V,我看到"hello"
。
我不明白。任何人都可以帮助我吗?
这是我的代码
private void windowsclickandsee()
{
Platform.runLater(() -> {
try {
root = new StackPane();
text= new TextArea();
String temp = (String) Toolkit.getDefaultToolkit()
.getSystemClipboard().getData(DataFlavor.stringFlavor);
root.getChildren().add(text);
text.appendText("1 "+temp);
Point p= MouseInfo.getPointerInfo().getLocation();
Scene scene = new Scene(root,400, 350);
primaryStage.setScene(scene);
primaryStage.setX(p.x);
primaryStage.setY(p.y);
primaryStage.setAlwaysOnTop(true);
primaryStage.show();
} catch (UnsupportedFlavorException ex) {
Logger.getLogger(Jnativehook.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Jnativehook.class.getName()).log(Level.SEVERE, null, ex);
}
});
}