复制并粘贴到javafx应用程序中嵌入的codemirror.js中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了复制并粘贴到javafx应用程序中嵌入的codemirror.js中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1883字,纯文字阅读大概需要3分钟。
内容图文
我正在使用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编辑器中.
我解决了undo和redo操作的问题:codemirror有两个js函数undo()和redo(),我可以通过javafx.scene.web.WebView.executeScript方法从java级别调用它们.
我的问题是如何处理剪切,复制和粘贴操作?如何使用codemirror编辑器将此操作与主菜单绑定?我在codemirror.js中找不到任何可以处理此操作的js函数.
任何帮助表示赞赏和感谢.
解决方法:
我找到了解决方案:
Codmirror在API中没有剪切,复制和过去等功能,但它允许获取和替换所选文本,因此我可以自己编写这些操作.
public void cut() {
String selectedText = (String) webview.getEngine().executeScript(
"editor.getSelection();");
webview.getEngine().executeScript("editor.replaceSelection(\"\");");
final Clipboard clipboard = Clipboard.getSystemClipboard();
final ClipboardContent content = new ClipboardContent();
content.putString(selectedText);
clipboard.setContent(content);
}
public void copy() {
String selectedText = (String) webview.getEngine().executeScript(
"editor.getSelection();");
final Clipboard clipboard = Clipboard.getSystemClipboard();
final ClipboardContent content = new ClipboardContent();
content.putString(selectedText);
clipboard.setContent(content);
}
public void paste() {
final Clipboard clipboard = Clipboard.getSystemClipboard();
String content = (String) clipboard.getContent(DataFormat.PLAIN_TEXT);
webview.getEngine().executeScript(String.format("editor.replaceSelection(\"%s\");", content));
}
内容总结
以上是互联网集市为您收集整理的复制并粘贴到javafx应用程序中嵌入的codemirror.js中全部内容,希望文章能够帮你解决复制并粘贴到javafx应用程序中嵌入的codemirror.js中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。