For the first, you'd have to set up the thing completely before pausing the thread. I'm pretty sure that would work.

As for the second, pack() does the layout: it decides where every subwindow should go, what the minimum size for the window is, all that stuff. Depending on the layout manager, this can take a moment, which is why it should be done before hiding the splash.