gpt4 book ai didi

java - 如何避免两个进程并行运行

转载 作者:行者123 更新时间:2023-12-01 05:50:29 25 4
gpt4 key购买 nike

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

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

最佳答案

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

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

当然,这也取决于你的代码的上下文。如果在选项卡关闭后执行它,则没有任何帮助。您需要将其移到其他地方,但在看不到全貌的情况下很难说出哪里。

关于java - 如何避免两个进程并行运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com