Не работает выделение текста мышью

У меня есть простая HTML-страница Hello world, отображаемая с помощью JxBrowser, встроенного в компонент JavaFX. Я использую облегченный ускоренный режим (легкий_ускоренный)

Код выглядит так:

FXCanvas fxComposite = new FXCanvas(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
Browser browser = new Browser(BrowserType.LIGHTWEIGHT);
com.teamdev.jxbrowser.chromium.javafx.BrowserView view = new com.teamdev.jxbrowser.chromium.javafx.BrowserView(
                browser);
fxComposite.setScene(FXResourceManager.createScene(view));
browser.setHtml("<p>Hello <span>World!</span></p>");

Выделение текста работает нормально при использовании сочетания клавиш CTRL + A или при двойном щелчке слова, но не при попытке сделать «выбор мышью» (например, при выборе «Ад»).

Я обнаружил, что это работает, если я переключаюсь в режим HEAVYWEIGHT или вместо этого использую компонент SWING.

Есть ли способ заставить его работать как с компонентом JavaFx, так и с LIGHTWEIGHT (ускоренный режим)?


person G.T.    schedule 24.07.2017    source источник
comment
Я уверен, что у вас есть причина использовать JxBrowser, и вы уже рассмотрели это, но у JavaFX есть WebView для отображения HTML, почему бы просто не использовать его?   -  person jewelsea    schedule 25.07.2017


Ответы (1)


На самом деле, это не имеет ничего общего с JxBrowser. Такое поведение вызвано известной ошибкой JavaFx: https://bugs.openjdk.java.net/browse/JDK-8096818

Исправлено в версии 8u60 (выпущенной в 2015 году).

person G.T.    schedule 25.07.2017