> Why aren't there setName, setSize, setStyle methods in Font class?
> Is one suppose to create a new Font object everytime instead?
Except for setName, these can all be done through deriveFont.
deriveFont(float size)
deriveFont(int style)
deriveFont(int style, float size)
To look at all your options:
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Font.html
> Why aren't there setName, setSize, setStyle methods in Font class?
Because Font is designed to be immutable (= not changeable after created).
> Is one suppose to create a new Font object everytime instead?
Yes. By new Font(...), or by font.deriveFont(...), ...
However, 2 different Font object may internally decide to refer to the
same native font data. So there is no memory waste anyway.

Signature
"Thomas:Fritsch$ops:de".replace(':','.').replace('$','@')