@HelloWorld922 - Oh cool! So there you have it, it can be done. I did actually try this out before posting but didn't realize you needed to setBounds() for it to work. Good spot.
@Tjstretch - Java strings are immutable, so like you said, the compiler needs to do some extra work behind the scenes to get String concatenation with '+' working. Normally, this extra workload is not really an issue but failing to recognize what this shortcut does to your complied code will bite you on the ass eventually.
For example, what if this integer was your health for a the HUD of a game. Using '+' you will be creating a tonne of extra objects at run-time, in a loop that instantly gets garbage collected. Why not just use the one object (StringBuffer or StringBuilder) that won't get GC'ed until it falls out of scope, will only get instantiated once and can be reused however you like. The biggest reason I like StringBuffer as opposed to StringBuilder is because you can tell it when to increases the buffer, (so if I know what kind of data I am dealing with I can fine tune it even more efficiently).
That is not to say I never use '+'. I do, just not often, the only time I do is for things like error messages or System.out.println() debugs; places where it is convenient to pack the code into one line and is not used for any computations or loops.
I completely agree that the '+' is more readable than StringBuffer but for the reasons we have both stated, it is not as good a solution. This being said, I did say there are plenty of ways to achieve this. Here is another one which may be easier to read.