Java JTabbedPane立即切换选项卡

我有一个带有两个标签的简单JTabbedPane组件。当在选项卡之一上触发按钮事件时,我希望当前视图立即设置为另一个选项卡。我可以在有问题的按钮的actionPerformed方法中使用setSelectedIndex(int)成功获取当前选项卡,但是按钮事件的其余功能有时可能需要一段时间才能完成。 似乎不会立即发生setSelectedIndex(int)更改,仅在由按钮单击/按下触发的actionPerformed方法的主体完成时才会发生。 我要在单击/按下按钮时切换选项卡的原因是,以便用户可以在另一个选项卡的文本区域中看到一条消息,告诉他们“正在处理,请稍候”等,而其余的按钮单击功能被执行。该功能的结果在到达时将替换“ ...请稍候”消息。 因此,现在发生的是单击按钮,它冻结在该选项卡上,直到按钮功能完全完成,然后切换。因此,“ ...请稍候”消息实际上从未出现过。 我不确定该怎么办。可能为“功能性”创建一个新线程,并让button click事件从该线程开始,以便按钮事件可以完成并在等待结果时切换选项卡。 只是大声思考。任何帮助表示赞赏。 -抢     
已邀请:
在我看来,线程问题比什么都重要,这冻结了GUI,使其完全无响应,直到完成为止,从而延迟了选项卡式窗格的交换。如果您在执行操作的方法中运行任何长时间运行的进程,请改为在后台线程(例如,由SwingWorker提供的后台线程)中进行处理,然后GUI会变得更加敏感。 有关详细信息,请查看本教程:Swing中的并发 如果尽管有此建议,您仍然遇到问题,那么您可能将不得不发布一些有问题的代码。最好的办法是创建一个可重现该问题的小型可运行应用程序SSCCE。 ¡Tengas suerte!     

要回复问题请先登录注册