你知道有什么解决办法吗?如果可能的话,我不想使用第三方库。
我要回答我的问题,因为我找到了解决办法。
首先,我添加了一个事件监听器,用于网页上的所有输入标记,在页面加载后:
private void addEventListenersToDOM() {
webview.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
@Override
public void changed(ObservableValue<? extends State> ov, State oldState, State newState) {
if (newState == State.SUCCEEDED) {
JSObject win = (JSObject) webview.getEngine().executeScript("window");
win.setMember("javaFXVirtualKeyboard", new JavaFXVirtualKeyboard());
String script =
"var inputsList = document.getElementsByTagName('input');"
+ "for (var index = 0; index < inputsList.length; ++index) { "
+ "inputsList[index].addEventListener('focus', function() { javaFXVirtualKeyboard.show() }, false); "
+ "inputsList[index].addEventListener('focusout', function() { javaFXVirtualKeyboard.hide() }, false); "
+ "}";
webview.getEngine().executeScript(script);
}
}
});
}
而重点,我是如何触发键盘显示和隐藏的:
public class JavaFXVirtualKeyboard {
public void show() {
FXVK.init(webview);
FXVK.attach(webview);
}
public void hide() {
FXVK.detach();
}
}
http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/embedd.htm 有没有人在javafx应用程序中有过虚拟键盘的经验?我需要能够显示正常的键盘或数字键盘时,文本字段是聚焦的。
问题内容: 我想在一个按钮中创建一个事件。 当我单击按钮时,我想打开Windows虚拟键盘。 您能帮我提供代码吗? 谢谢您的合作。 最好的祝福。 问题答案: 我认为这就是这么简单:
我想永远不要像以编程方式显示/隐藏虚拟键盘一样隐藏虚拟键盘 或者(如果上面所说的不可能的话) 我想从虚拟键盘移除/隐藏/禁用下面(突出显示的绿色左下角)按钮。 在任何情况下都不要隐藏键盘,除非程序没有终止。 代码:你也可以在github上查看我的代码。
我正在尝试为具有特定扩展名的文件在“打开”菜单中添加eclipse编辑器。我在org.eclipse.ui.editors扩展点中使用launcher实现了这一点,在launcher中我使用了“open editor”方法,它需要传递编辑器ID。有没有什么方法可以让我们以编程方式打开一个编辑器,而不需要传递编辑器ID呢?我们可以通过传递实现编辑器的类的实例以编程方式打开编辑器吗?..
我想通过编程(从关联菜单)打开某个视图,我该怎么做? 我可以使用e3兼容层显示如下视图: e4的方法是什么?