1
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);
                }

关闭选项卡时,上面的代码会打开一个对话框。根据对话框的用户响应,我决定是否关闭选项卡。但我面临的问题是选项卡在对话框响应之前自行关闭。当对话框出现时,选项卡关闭而不等待对话框的响应。我希望只有在关闭对话框时才应根据条件关闭选项卡。请你帮助我好吗。
-提前致谢

4

1 回答 1

0

首先要注意,“流程”与此无关。进程是正在运行的程序,在您的情况下,您可能只有一个进程。

在您的情况下,您需要的可能是一个模态对话框。请参阅采用 Dialog.ModalityType 参数的构造函数。然后使用对话框的 setVisible() 方法而不是 show()。对于模态对话框,它将一直阻塞,直到用户关闭对话框。

当然,这也取决于您的代码的上下文。如果它在选项卡关闭后执行,则没有任何帮助。您需要将其移动到其他地方,但如果没有看到整个画面,就很难说在哪里。

于 2011-01-29T12:31:44.877 回答