As far as I know JDK is not so deep to support all operating systems
features not to lose its moto "WORA (Write once, run anywhere)".
So java developers sometimes refer to JNI to have access to the native
services.
In a project which I used to develop it using Eclipse RCP, SWT and
JFace I'd found some utilities to even change the current operating
system language. So it could be a good reference to write you own JNI
for Swing.