我正在使用 codemirror.js 库在 Java FX 中创建简单的编辑器。我使用 javafx.scene.web.WebView 组件在 javafx 中嵌入了 codemirror 编辑器,并带有以下 html/js 代码:
<body>
<form>
<textarea id="code" name="code">
</textarea>
</form>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), { lineNumbers: true});
</script>
</body>
Codemirror 编辑器本身支持撤消、重做、剪切、复制和粘贴。
我的应用程序中还有 javafx 主菜单,我想向其中添加复制或粘贴等操作。我想以某种方式将这个菜单操作与我的 codemirror 编辑器“绑定”,所以如果用户单击例如从主菜单粘贴,剪贴板中的内容将被添加到 codemirror 编辑器。
我为撤消和重做操作解决了这个问题:codemirror 有两个 js 函数 undo() 和 redo(),我可以通过 javafx.scene.web.WebView.executeScript 方法从 java 级别调用它们。
我的问题是如何处理剪切、复制和粘贴操作?如何将主菜单中的此操作与 codemirror 编辑器绑定?我在 codemirror.js 中找不到任何可以处理此操作的 js 函数。
任何帮助表示赞赏并提前感谢。