I want to use this Swing snippet to create an image from a text label from a non-Swing based app (a web service written using Play Framework, to be specific).
I’ve never used Swing, and saw that “it is not thread safe”. Does this apply to the minimal code that I’m planning to run? Should I synchronize access to this code?
If I understand the answers about Swing thread-safety correctly, then unless a method explicitally says it’s safe, then it isn’t … and the methods I use (specifically BufferedImage.getGraphics() don’t seem to have this piece of javadoc). So, unless shown otherwise, I’m going to synchronize.
“Not thread-safe” means that you must not access the same thing from multiple threads at once.
There is nothing wrong with running that code on a background thread, as long as you don’t share the objects across threads.
Note that most (non-UI) objects are thread-safe for read-only operation.