if (isToCloseTab && selectedTab > -1) {
if (FSView.tabs[selectedTab-1].isChanged()) {
String tabName = tabbedPane.getTabTitleAt(selectedTab);
JFrame mainFrame = FSApp.getApplication().getMainFrame();
savefiledialog = new SaveFileDialog(mainFrame, selectedTab, tabName);
savefiledialog.setLocationRelativeTo(mainFrame);
FSApp.getApplication().show(savefiledialog);
}
if (closeTab) {
tabbedPane.removeTabAt(selectedTab);
}
上面的代码会在关闭选项卡时打开一个对话框。根据对话框的用户响应,我决定是否关闭标签。但我面临的问题是该选项卡在对话框响应之前自行关闭。出现对话框时,选项卡将关闭,而不等待对话框的响应。我希望当对话框关闭时,应该根据条件关闭选项卡。你能帮帮我吗 - 提前谢谢
答案 0 :(得分:0)
首先要注意的是,“流程”与此无关。进程是一个正在运行的程序,在您的情况下,您可能只有一个进程。
在您的情况下,您需要的可能是模态对话框。请参见采用Dialog.ModalityType参数的构造函数。然后使用对话框的setVisible()方法而不是show()。对于模态对话框,它将阻塞,直到用户关闭对话框。
当然,这也取决于代码的上下文。如果在关闭选项卡后执行,则没有任何内容可以帮助您。你需要把它移到其他地方,但如果没看到整个画面就很难说。