Ich kann jetzt nicht sagen welches die einfachste/beste Variante ist,
aber es gibt natürlich viele Möglichkeiten.
Entweder du benutzt ein vorgefertigtes Gerüst wie zb. Slick,
baust es in Swing auf, oder im stinknormalen AWT.
Ich persönlich nutze letzteres, aber versuche mich gerade an Slick.
Theoretisch kannst du überall das gleich erreichen, aber
je nachdem für was ist das eine leichter bzw. schneller als das andere.
Zb. kann man ja aus dem simplen AWT Befehl drawImage() sich fast
alles selber zusammenstricken, von Spieloberflächen, Maps bis zu Menüs.
Dazu gibts haufenweise Tutorials, ich würde am Anfang raten es selbst zu
versuchen, also in Swing oder AWT.
Dann versteht man die elementaren Zusammenhänge von grafischen Oberflächen.
Mit welchem Programm versteh ich nicht ganz, du willst es ja in Java programmieren,
und nicht mit einem Programm machen?
Meinst du damit Entwicklungsumgebungen?
Da würde ich Eclipse raten, ist so ziemlich die größte und beste für Java.
Bei genaueren und kronketen Fragen kann ich dir vielleicht mehr sagen,
aber zu einer Frage wie man eine komplexe Spielumgebung aufbaut,
kann man nur Teile einzeln erklären, aber nicht alles auf einmal.
Hast du denn schonmal was in der Richtung gemacht?
Weíßt du wie solche spiele (rein theoretisch) zusemmgebaut sind?
mfg BRoll