I've got several unrelated swing classes that are instances of JFrame. The issue is, I'd like to be able to create a controller class with a static method to load the appropriate frames as needed. I'm experiencing difficulty with the following code as many of components are failing to load. I suspect that the issue is with the event dispatch thread. Below is the code that doesn't work:
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Controller {
private Controller() {
}
public static void initialize(final JFrame frame) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame selectionFrame = frame;
}
});
}
public static void main(String[] args) {
Controller.initialize(new SampleFrame());
}
}
The program loads the frame and toolbar components but other components fail to load. NOTE: The program runs just fine if I refactor the Controller like so :
public class Controller {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new SampleFrame();
}
});
}
}