“Alert.Show() 方法会导致 Android 设备上的输入框无响应。”

问题描述 投票:0回答:1

问题:

每当弹出警报窗口时,都会导致无法输入的问题。

演示视频:链接

最小复制:inputTest.zip

创建一个新的Stage然后关闭它,即使焦点返回到初始Stage,输入组件可以获得焦点并调用输入法,但无法输入。我怀疑事件循环受到了新Stage的影响,导致系统无法正确处理事件循环。

我尝试过的:在警报关闭后手动将焦点锁定到输入字段:

 alert.setOnHidden(evt -> {
                Platform.runLater(() -> textField.requestFocus());
            });

不幸的是,这仍然不起作用。

我也尝试过在网上搜索一个开源的JavaFX跨平台项目来寻找解决方案,但是我找到的所有项目都使用Gluon Glisten,我不想使用它。

javafx gluon gluon-mobile
1个回答
0
投票

解决方法:通过initOwner方法设置alert和mainstage之间的关系使alert关闭时正确处理事件循环

© www.soinside.com 2019 - 2024. All rights reserved.