Ergebnis 1 bis 3 von 3

Java - JFrame erzeugen + benutzen lassen, Klassen-Aufteilung

  1. #1 Zitieren
    Veteran
    Registriert seit
    Jun 2012
    Beiträge
    640
    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 ist offline

  2. #2 Zitieren
    Veteran
    Registriert seit
    Jun 2012
    Beiträge
    640
    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 ist offline

  3. #3 Zitieren
    Auserwählter
    Registriert seit
    Jul 2017
    Beiträge
    6.575
    Zitat Zitat von Gothicforum Beitrag anzeigen
    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 ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •