相关疑难解决方法(0)

复制并粘贴到javafx应用程序中嵌入的codemirror.js中

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

Codemirror编辑器本身支持撤消,重做,剪切,复制和粘贴.

我的应用程序中还有javafx主菜单,我想添加复制或粘贴等操作.我想以某种方式"绑定"这个菜单操作与我的codemirror编辑器,所以如果用户点击例如从主菜单粘贴,剪贴板中的内容将被添加到codemirror编辑器.

我解决了undo和redo操作的问题:codemirror有两个js函数undo()和redo(),我可以通过javafx.scene.web.WebView.executeScript方法从java级别调用它们.

我的问题是如何处理剪切,复制和粘贴操作?如何使用codemirror编辑器将此操作与主菜单绑定?我在codemirror.js中找不到任何可以处理此操作的js函数.

任何帮助表示赞赏和感谢.

javascript java clipboard javafx codemirror

4
推荐指数
1
解决办法
2208
查看次数

无法粘贴到JavaFX WebView上的ACE编辑器中

我正在开发一个小型JavaFX应用程序.我想嵌入一个Lua编辑器.我在我的应用程序中通过WebView节点使用ACE Editor.编辑器加载完美; 但是,无论文本的复制位置如何,我都无法通过鼠标事件和键盘事件粘贴任何文本.这是一个已知的错误?

HTML文件:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Lua Editor</title>
        <style type="text/css" media="screen">
            #editor { 
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
            }
        </style>
    </head>
    <body>
        <div id="editor"></div>
        <script src="ace.js" type="text/javascript" charset="utf-8"></script>
        <script>
            var editor = ace.edit("editor");
            editor.getSession().setMode("ace/mode/lua");
            editor.setOptions({
                fontSize: "11pt"
            });
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Java代码片段:

@FXML
private WebView scriptEditor;

private void initializeCardScript() {
    scriptEditor.getEngine().load("path to HTML file");
}
Run Code Online (Sandbox Code Playgroud)

clipboard paste webview ace-editor javafx-8

3
推荐指数
1
解决办法
897
查看次数