Results 1 to 3 of 3

Java - JFrame erzeugen + benutzen lassen, Klassen-Aufteilung

  1. #1 Reply With Quote
    Krieger
    Join Date
    Jun 2012
    Posts
    420
    Wenn ich es richtig sehe, könnte man ja in Java ein riesiges Spiel programmieren und alles in eine Klasse schreiben.
    Vermutlich wäre das aber ganz schlechter Programmier-Stil und man sollte seine Programme lieber in mehrere Klassen aufteilen.

    Ich versuche grad bspw. einen JFrame zu erzeugen, in den dann erst ein Menü und dann das Spiel gezeichnet wird.
    Wie sollte man die Klassen-Aufteilung machen bzw. wie macht man folgendes:


    Ich habe eine Main-Klasse, die heißt "Game.java", darin ist die Main-method.
    Hier wird also das ganze Programm gestartet.
    Dann habe ich eine zweite Klasse gemacht, die heißt "GameWindow.java", diese enthält, dass ein JFrame erzeugt wird und was er so beinhaltet, z.B. Hintergrundbild, Logo, Buttons usw. , auch einen Timer, der für eine kurze Zeit ein Logo zeigt.

    Jetzt hätte ich aber gern, dass, wenn man auf den Button zum Starten klickt,
    dass das Spiel gestartet wird und das neue Hintergrundbild etc., nicht in derselben Klasse "GameWindow.java",
    sondern z.B. in einer neuen Klasse "GameStarted.java", die wieder aufgerufen wird über die allererste Klasse "Game.java", die ja der Dreh-und Angelpunkt sein soll.
    Aber die neue Klasse, die das Spiel zeichnen soll, muss ja den JFrame benutzen, der von der anderen Klasse erzeugt worden ist, und das scheint mir nicht zu funktionieren.

    Geht das? Wie muss man die Aufteilung auf mehrere Klassen machen?
    Oder sollte man sein ganzes Spiel, und das Menü und einfach alles, einfach in eine einzige große Klasse schreiben??
    Gothicforum is offline

  2. #2 Reply With Quote
    Krieger
    Join Date
    Jun 2012
    Posts
    420
    same, wenn ich überhaupt `graphics g` nutze, um Bilder in den JFrame zu zeichnen.
    Wenn ich richtig sehe, kann eine andere Klasse nicht auf graphics g einer weiteren Klasse zugreifen.

    Ich muss scheinbar mein ganzes Game in eine Klasse programmieren..
    ist das so?
    Gothicforum is offline

  3. #3 Reply With Quote
    Ritter
    Join Date
    Jul 2017
    Posts
    1,604
    Quote Originally Posted by Gothicforum View Post
    same, wenn ich überhaupt `graphics g` nutze, um Bilder in den JFrame zu zeichnen.
    Wenn ich richtig sehe, kann eine andere Klasse nicht auf graphics g einer weiteren Klasse zugreifen.

    Ich muss scheinbar mein ganzes Game in eine Klasse programmieren..
    ist das so?
    Nein, es ist nicht so.
    Es macht aber sicherlich Sinn, alles, was Grafik erzeugt, in einer Klasse zu belassen. Und es macht noch mehr Sinn, alles andere auszulagern in eigene Klassen.

    http://www.willemer.de/informatik/java/grafik.htm

    https://javabeginners.de/Grafik/geom...n_zeichnen.php

    Das sind ein paar einfache und für mich damals gut erklärte Beispiele. Musste mich auch erst mal richtig reinfuchsen, bis ich das System verstanden habe.
    Stiller Leser is offline

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •