javafx中的文本输入对话框冻结了我的框架

时间:2017-11-24 16:49:56

标签: java javafx controller alertdialog

首先,此方法允许我生成一个子框架,返回用户键入的字符串

当我调用该方法时,有一个文本字段和两个按钮,它们是" 好的"和" 取消",问题是我点击取消子框架关闭离开主框架冻结并且根本没有回应!我尝试了很多方法来逃避这个问题,但没有任何结果

你可以帮我找出解决方案吗? 它似乎是某种 exeption ,这里是stacktrace:QuantumToolkit.runWithoutRenderLock(供应商)行:不可用

以下是方法:

    public static String showTextInput(String alertTitle, String title, String message, String defaultValue) {
    TextInputDialog dialog = new TextInputDialog(defaultValue);
    dialog.initStyle(StageStyle.UTILITY);
    dialog.setTitle(alertTitle);
    dialog.setHeaderText(title);
    dialog.setContentText(message);

    Optional<String> result = dialog.showAndWait();
    if (result.isPresent()) {
        return result.get();
    } else {
        return null;
    }

}

谢谢你的时间

1 个答案:

答案 0 :(得分:1)

好吧,当我为你生成代码时(JKostikiadis)我意外地发现了问题出在哪里!

我正在测试我的结果字符串null值如下: result.equals(null) 并且编译器并不介意,但当我将其更改为 result == null 时 ,问题消失了!

所以最终输入对话框不是问题,但字符串问题