2013-05-17 43 views

回答

0

文本文件具有线性数据结构,并且可以在其视图中具有连续的位置和相应的位置。 但对于HTML屏幕上查看所显示的对象的位置,以位置在文本映射是有点难度所以这就是为什么HTML编辑器不能确定光标位置

IM在一些其他的解决方法合作,插入在给定的光标位置的图像。

尝试插入伪文本作为占位符,如### inserImage ####,然后将其替换为实际图像标记< img src =“file:\ c:\ testhtmleditor \ sample01.jpg”/>。 。

4

您可以通过以下方式

  1. 使用ScenicView实现这一目标,探索HTML编辑 scenic view
  2. 获取的WebView内HTML编辑
  3. 得到该WebEngine的WebView
  4. 运行JavaScript代码使用WebEngine插入图像插入符号POS

如何使用JS Link to Original Post

function insertHtmlAtCursor(html) { 
    var range, node; 
    if (window.getSelection && window.getSelection().getRangeAt) { 
     range = window.getSelection().getRangeAt(0); 
     node = range.createContextualFragment(html); 
     range.insertNode(node); 
    } else if (document.selection && document.selection.createRange) { 
     document.selection.createRange().pasteHTML(html); 
    } 
} 

如何执行替换HTML JS代码Guide

Node webNode = htmlEditor.lookup(".web-view"); 
if (webNode instanceof WebView) { 
    WebView webView = (WebView) webNode; 
    WebEngine engine = webView.getEngine(); 
    engine.executeScript("alert('helo')"); // add js code here 
} 
+0

见:https://gist.github.com/JaDogg/1204d6f28e89e22f7b7b(仅在JDK 8测试) –

0

让我们试试这段代码

@FXML private HTMLEditor editor; 
... 
public void insertTextToCurrentFeatureCursorPosition(String text) { 
    WebView webView = (WebView) editor.lookup(".web-view"); 
    WebPage webPage = Accessor.getPageFor(webView.getEngine()); 
    webPage.executeCommand("insertHTML", text); 
} 

在哪里文本是包装了图像的HTML代码