小编Rya*_*van的帖子

如何使用 Open JDK 15 或更高版本访问 JavaFX 虚拟键盘 (FXVK)?

我在打开的 jdk 8 中使用 javafx 虚拟键盘。有时我必须访问虚拟键盘,以防止它在某些文本字段获得焦点时显示。操作员必须扫描多个条形码的屏幕就是一个例子。这个虚拟键盘很碍事。使用 open jdk 8,我们可以像这样禁用虚拟键盘:

FXVK.detach(); //导入“com.sun.javafx.scene.control.skin.FXVK”后

我们现在正在升级到 open jdk 15 并使用 gradle 构建我们的 UI。“com.sun.javafx.scene.control.skin.FXVK”不再可以通过带有 gradle 的模块化项目进行访问。我不相信使用不同的虚拟键盘是一种选择,所以任何人都可以解释如何在 java 8 之后访问这个 FXVK 类吗?

有没有办法使用 --add-exports 或 --patch-module 与 JAR 来修补 JavaFX 以访问内部类?

下面是显示此问题的示例项目的代码。

这是 JavaFX 应用程序类,它仅显示一个文本字段并显示我可以与 java 8 一起使用以不显示虚拟键盘的代码。

package com.test.sampleapp.application;

////not accessible in java 15
//import com.sun.javafx.scene.control.skin.FXVK;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application{

    public static void main(String[] args)
    {
        launch(args);
    } …
Run Code Online (Sandbox Code Playgroud)

javafx virtual-keyboard java-15

2
推荐指数
1
解决办法
299
查看次数

标签 统计

java-15 ×1

javafx ×1

virtual-keyboard ×1