当焦点进入 aTextField
时,触摸屏键盘不会出现。
我想这是因为 JavaFx 应用程序不符合 Metro 标准?
我找到了一种弹出键盘的方法:
public class Controller {
public static void showVirtualKeyboard(
ObservableValue<? extends Boolean> observable,
Boolean oldState,
Boolean hasFocus )
{
if( hasFocus ) {
try {
Runtime.getRuntime().exec(
"cmd /c \"C:\\Program Files\\Common Files\\microsoft " +
"shared\\ink\\tabtip.exe\"" );
}
catch( final Throwable t ) {
LogHelper.severe( t );
}
}
}
}
在任何视图中:
final class VisualAnalysis extends GridPane implements IView {
private final TextField tech = new TextField();
@Override
public void setController( Controller ctrl ) {
...
tech.focusedProperty().addListener( Controller::showVirtualKeyboard );
}
这是一种解决方法。你发现更好的方法了吗?