我正在使用 invokeLater() 在 JTabbedPane 内的 JPanel 内的 JEditPane 中加载 html 页面。
我所有的方法都可以很好地加载 html。我遇到的问题是更新标签标题。
方法 setTitle() 和 setTabTitle() 工作,但是它们在 PageLoader 完成之前被执行。因此选项卡标题始终显示上一个 html 页面的标题。
有没有一种方法可以阻止方法 setTitle() 和 setTabTitle() 执行,直到稍后调用中的线程完成:
这是我正在查看的代码的一部分:
private void showPage(){
// Load cursors
Cursor cursor = viewer.getCursor();
Cursor waitCursor = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR );
viewer.setCursor( waitCursor );
SwingUtilities.invokeLater( new PageLoader( viewer, url, cursor) );
//Update tab title
setTitle();
tabPanel.setTabTitle(this);
//Update address bar
addressTextField.setText(url.toString());
}
谢谢你提供的所有帮助。