This is basically a problem with Swing. I think Oracle are going to fix it with Java 9. But we still may need to implement something to make it work.
BTW, I think Swing is now deprecated in favor of JavaFX, so we may use that if we end up with massive re-implementation of the GUI code.