I know this is an old question, but here I think the problem is:
First, if you use SingleFrameApplication , you should not create your own JFrame . Instead, you should have a startup() method like this:
@Override protected void startup() { final FrameView view = getMainView(); view.setMenuBar(createMenuBar()); view.setComponent(createMainComponent()); show(view); }
Now the show(view) method takes care of putting all these resources into components. But it only handles components that are in the view component hierarchy at the moment you call show() . If you add something later, you will have to enter the resources yourself. Here is an example of how you could do this:
public void injectResources(final Component root) { final ResourceMap resourceMap = applicationContext.getResourceMap(root .getClass(), Object.class); resourceMap.injectComponents(root); resourceMap.injectFields(root); }
I hope this helps you or someone else with the same problem.
source share