前几天三叔工具箱的OCR里追加了Ctrl+V粘贴识别图片的功能。
但是不知道是不是权限问题,等插件载入容器后居然失效了。
这里贴出代码,给后来者参考参考。
首先引入必要包:
import javafx.scene.input.KeyCode; import javafx.scene.Scene; import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import javafx.scene.input.Clipboard;
然后定义组合快捷键
private KeyCombination CTRL_V = new KeyCodeCombination(KeyCode.V, KeyCombination.SHORTCUT_DOWN);
最后编写调用方法:
//注册Ctrl+V调用事件 public void initEvent(Scene scene) { scene.getAccelerators().put(CTRL_V,()->pasteImg()); } private void pasteImg() { Clipboard clipboard = Clipboard.getSystemClipboard(); if(!clipboard.hasImage()) { FxAlerts.error("粘贴板中不包含图片"); return; } Image img = clipboard.getImage(); ImageView imageView = new ImageView(); imageView.setImage(img); if(img.getWidth()>443) imageView.setFitWidth(433D); panelImg.getChildren().add(imageView); }