我正在为我正在处理的项目构建一个相当复杂的 GUI。重要的是,它包含(除其他外)一个JTabbedPane
包含 12 个以上复杂 GUI 组件的窗格。
我正在尝试做的是JProgressBar
在实例化这些窗格时显示 a (创建和配置;做所有实际显示之外的事情)。实际上,我希望最终结果类似于 Eclipse 闪屏:
这是(更新为包括 SplashScreen)我正在尝试做的伪代码:
ProgramManager:
private setupGUI() {
mainGUI = new MainGUI(); // only instantiates internal JFrame field
mainGUI.setup();
}
MainGUI:
public void setup() {
//create and configure progress bar
final SplashScreen ss = SplashScreen.getSplashScreen();
JProgressBar jpb = new JProgressBar(){
Graphics g = ss.createGraphics();
@Override
public void paint(Graphics pG) {
// TODO Auto-generated method stub
super.paint(g);
}
};
jpb.setValue(0);
setup1stTab();
//update Progress
setup2ndTab();
//update progress
etc....
ss.close();
}
如果这是不可能的,或者我只是做错了,请告诉我。我环顾四周,看到一些提到 Threading/ SwingWorker
,但是在弄乱了那个和 Observer/Observable 的东西(诚然只有一点)之后,我仍然无法弄清楚。