OK, that's the first shot. The circle is itchy, it's anything but attractive. Let's add some anti-alias to the picture:
The edge of the circle looks better, the way the font is rendered too. But a nicer font should help too
The flat background is not looking good. Let's add a gradient to it, going from red to dark red, from the top to one third of the diameter.
That's better, but quite not there yet... We would need some glossy effect. That one is interesting, and surprisingly simple. The dark red background is flat (no gradient), the glossy effect comes from the light gray oval drawn on top, that one has a gradient, from light gray to dark red, going vertically, from the top of the circle, to one third of the diameter.
A shadow in the background would bring some bevel to the picture. It is a RadialGradientPaint.
Now that looks better!
The java code is not specially complicated, and it can certainly be reused.
Here is an example of some code using this technique.
And by the way, forget about dark red... Black is much classier.
All the code demonstrated in this article is available here.