The question is a very good one, and it touches one of the very topics of
Java (or common OO) architecture. At the time when you are getting deeper into Java programming you will probably get used to principles and paradigms dealing with situations where you can do it "this or that way".
Regarding your question these may be:
Keep it simple.Create objects where they are needed.Use prooven patterns, like singleton or factory.Use decoupling, i.e. let others do the object creation job (e.g. by dependency injection).
However, most important in your case:
Start with reasonable choices, be open to refactor (rewrite) it later.Always think about what you're doing and why.
You're a Java rookie? Don't think about dependency injection or factories or singletons right now, start with the simple solution and learn later.