A failed attempt to reproduce the problem is frustrating, but always worthwhile: it implies that your essential approach to key bindings is likely sound, and a reference example will guide your search for the problem.
Recall that each component's UI delegate is responsible for establishing its key bindings. At a guess, you might check several related things:
Ensure that Swing GUI objects are constructed and manipulated only on the event dispatch thread in the desired order, as suggested here.
Verify correct use of
UIManager.setLookAndFeel()
; in particular, don't use it as a substitute forvalidate()
.In a custom component, override
updateUI()
to apply any custom bindings, as shown here for colors.