Попытка сделать requestFocus() в WebView не работает до тех пор, пока пользователь не нажмет на элемент управления.Webview с contenteditable не может сфокусироваться программно
Я знаю, что это должно быть возможно, поскольку htmlEditor может быть сфокусирован таким образом (и я подозреваю, что он основан на контентном WebView).
Я кодирую свой собственный специализированный htmlEditor, используя webview с «contenteditable», и мне очень хотелось бы сфокусировать его, как я могу сделать со стандартным htmlEditor.
Я считаю, что это должно быть проблемой с Javafx, и я уже представил его Джире, но мне интересно, может ли кто-нибудь подумать об этом.
UPDATE: Номер выпуска в JIRA: RT-21695
Короткий код demostration:
/* Demo webview */
public class WebViewConteneditableDemo extends Application {
String initialEditview = "<html><head>"
+ "</head><body contenteditable='true'>"
+"</body></html>";
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Webview focus demo");
final WebView editor = new WebView();
Button btn = new Button();
btn.setText("Test Webview focus");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
editor.requestFocus();
}
});
BorderPane root = new BorderPane();
root.setTop(btn);
root.setCenter(editor);
editor.getEngine().loadContent(initialEditview);
primaryStage.setScene(new Scene(root, 500, 450));
primaryStage.show();
}
}
A dd также номер/ссылка проблемы Jira. –
Я не могу воспроизвести проблему, о которой вы говорите, можете ли вы добавить короткий, компилируемый пример, который демонстрирует проблему. – jewelsea
Добавлено, как вы можете видеть, я использовал кнопку для установки фокуса, но вы можете попытаться сделать это любым другим способом, это не сработает, пока редактор не будет нажат вручную ... тогда это сработает. – betaman