искать и выделять текст в веб-просмотре в javafx

Я загрузил локальный файл HTML в веб-движок. мне нужно найти и выделить данную строку на странице веб-просмотра.
Есть ли способ сделать это?


person velsachin    schedule 07.12.2012    source источник
comment
Привет, ты узнал, как это сделать? Я тоже застрял в этом ...   -  person SharonBL    schedule 17.10.2013
comment
Отметьте это вон :)   -  person Muten Roshi    schedule 24.10.2014
comment
Вам нужно написать код Javascript, который вы можете вызывать через Java с помощью Nashorn Api.   -  person Marcel    schedule 11.06.2015
comment


Ответы (1)


Если вы не против использования отражения, это можно сделать изначально в коде Java.

WebEngine имеет частную страницу поля типа WebPage, который, в свою очередь, имеет этот метод, который делает именно то, что вы хотите:

// Find in page
public boolean find(String stringToFind, boolean forward, boolean wrap, boolean matchCase) {
    // ...
}

Итак, чтобы получить доступ к этому методу find (), вам нужно сделать:

WebView webView = new WebView();
WebEngine engine = webView.getEngine();

try {
    Field pageField = engine.getClass().getDeclaredField("page");
    pageField.setAccessible(true);

    WebPage page = (com.sun.webkit.WebPage) pageField.get(engine);
    page.find("query", true, true, false);
} catch(Exception e) { /* log error could not access page */ }
person dankito    schedule 18.03.2018