在等待来自子窗口的输入时暂停程序
Pause program while waiting for input from a subwindow
我是 Vaadin 的新手,需要一些帮助。
场景:
我的网络应用程序有一个名为 "import" 的按钮,当您单击它时,您可以选择要导入的文件,然后它会打开一个显示进度的新 window。在导入过程中,程序会读取文件的内容,在某些情况下,它需要用户提供一些额外信息才能继续。在这种情况下,我想打开一个额外的 window(一个用于输入的简单文本字段和一个输入按钮),用户可以在其中输入缺少的信息。只有当用户按下回车按钮时,程序才应该继续处理文件的导入。
我尝试过的:
我创建了一个扩展 Window 的 class "ImportWindow"。
从这个 class 我在一个名为 "FileReader" 的 class 中调用一个名为 "handleFileContent()" 的方法,它读取文件的内容。
我用扩展 Window 创建了一个额外的 class "AdditionalInfoPopUp"。
当 "handleFileContent()" 到达需要更多信息的文件部分时,我有以下代码:
AdditionalInfoPopUp apwindow = new AdditionalInfoPopUp();
UI.getCurrent().addWindow(apwindow);
while (!apwindow.isCompleted()){
// wait for user input
try {
Thread.sleep(5000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
"isCompleted()" 是一种 returns 布尔值的方法,我在单击新的 AdditionalInfoPopUp 中的输入按钮时将其设置为 true。
问题:
永远不会打开 AdditionalInfoPopUp。如果我删除 while 循环,那么它会在程序读取文件的其余部分时打开。但我需要它立即打开,这样我才能在继续之前获取附加信息。
我曾尝试寻求帮助,但一无所获。所以我希望这里有人可以提供帮助。
您需要先阅读所有上传文件。
然后你可以添加你的逻辑来询问用户额外的信息。
如果处理是在后台线程中完成的,read this。
我是 Vaadin 的新手,需要一些帮助。
场景: 我的网络应用程序有一个名为 "import" 的按钮,当您单击它时,您可以选择要导入的文件,然后它会打开一个显示进度的新 window。在导入过程中,程序会读取文件的内容,在某些情况下,它需要用户提供一些额外信息才能继续。在这种情况下,我想打开一个额外的 window(一个用于输入的简单文本字段和一个输入按钮),用户可以在其中输入缺少的信息。只有当用户按下回车按钮时,程序才应该继续处理文件的导入。
我尝试过的: 我创建了一个扩展 Window 的 class "ImportWindow"。 从这个 class 我在一个名为 "FileReader" 的 class 中调用一个名为 "handleFileContent()" 的方法,它读取文件的内容。 我用扩展 Window 创建了一个额外的 class "AdditionalInfoPopUp"。 当 "handleFileContent()" 到达需要更多信息的文件部分时,我有以下代码:
AdditionalInfoPopUp apwindow = new AdditionalInfoPopUp();
UI.getCurrent().addWindow(apwindow);
while (!apwindow.isCompleted()){
// wait for user input
try {
Thread.sleep(5000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
"isCompleted()" 是一种 returns 布尔值的方法,我在单击新的 AdditionalInfoPopUp 中的输入按钮时将其设置为 true。
问题: 永远不会打开 AdditionalInfoPopUp。如果我删除 while 循环,那么它会在程序读取文件的其余部分时打开。但我需要它立即打开,这样我才能在继续之前获取附加信息。
我曾尝试寻求帮助,但一无所获。所以我希望这里有人可以提供帮助。
您需要先阅读所有上传文件。
然后你可以添加你的逻辑来询问用户额外的信息。
如果处理是在后台线程中完成的,read this。