ローカルのHTMLファイルをWebエンジンにロードしました。私はウェブビューページで与えられた文字列を検索して強調表示する必要があります。
それを行う方法はありますか?
回答:
回答№1は0リフレクションを使用しても構わない場合は、ネイティブにJavaコードで実行できます。
WebEngineにはタイプのプライベートフィールドページがあります ウェブページこれには、このメソッドがあります。
// 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 */ }