I would like to be able to change the locale in my Swing application at runtime and have all the text elements on the screen update themselves with localized text from a Res
You have a method that is used to change app locale (and probably persist the new value) and another one to get localized strings.
Create an interface:
interface LocaleChangeListener {
void onLocaleChange();
}
Implement it by UI components that need to be able to change locale at runtime and set the new values in overrides onLocaleChange().
Now, have a list of listeners that will be notified on locale change by the first method.