codemirror.jsライブラリを使用してJavaFXで簡単なエディタを作成しています。次のhtml/jsコードを使用して、javafx.scene.web.WebViewコンポーネントを使用してコードミラーエディターをjavafxに埋め込みました。
<body>
<form>
<textarea id="code" name="code">
</textarea>
</form>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), { lineNumbers: true});
</script>
</body>
コードミラーエディタ自体は、元に戻す、やり直し、切り取り、コピー、貼り付けをサポートしています。
アプリケーションにjavafxメインメニューもあり、コピーや貼り付けなどのアクションを追加したいと思います。このmenueアクションをコードミラーエディターに「バインド」したいので、ユーザーがメインメニューから貼り付けるなどをクリックすると、クリップボードのコンテンツがコードミラーエディターに追加されます。
元に戻す操作とやり直し操作でこの問題を解決しました。codemirrorには2つのjs関数undo()とredo()があり、javafx.scene.web.WebView.executeScriptメソッドを介してJavaレベルから呼び出すことができます。
私の質問は、切り取り、コピー、貼り付けの操作をどのように処理するかです。コードミラーエディタを使用してメインメニューからこの操作をバインドするにはどうすればよいですか?この操作を処理できるjs関数がcodemirror.jsに見つかりません。
どんな助けでも感謝し、事前に感謝します。