Frage von FelixAE7, 18

Wie füge ich dem neuem Fenster Buttons hinzu?

http://pastebin.com/r7JP3uYM

Guten Abend, ich probiere gerade Java zu lernen und habe mit Hilfe einiger Tutorials diesen Code geschrieben. Nun habe ich versucht auf den neuen Frame, welcher entsteht wenn man auf Spiel starten drückt, Buttons hinzuzufügen, bin aber leider gescheitert.

Wie und wo muss ich was schreiben damit es funktioniert ? (Am besten mit Begründung)

Vielen Dank im Voraus !

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von KnusperPudding, Community-Experte für Java, 7

Wieso bist du gescheitert? - Ich vermute mal, nachdem du bei deinem Haupt-Frame von der Klasse JFrame erbst, und du Elemente im Konstruktor anfügst, verwirrt dich das nun, wenn es darum geht, Elemente anders anzufügen:

public Frame(String title) {
 super(title);
JLabel menuetext;
menuetext = new JLabel("Menue");
menuetext.setBounds(162, 0, 150, 50);
menuetext.setFont(new Font("Arial", Font.BOLD, 24));
add(menuetext);
...
}

Ich finde es ehrlich gesagt eigentlich unmöglich, wenn in Tutorials die eigene Klasse von JFrame erbt. denn genau das sorgt für die Verwirrung die jetzt bei dir entstanden ist.

Dein Snippet hier macht ja folgendes: Du hast einen Konstruktor, der mit dem ersten Befehl den darüberliegenden Konstruktor (von JFrame) aufruft: super(title);
anschließend werden im Konstruktor Elemente angefügt.

Wenn du nun neue Frame Instanzen aufrufst, bildest du ja neue Instanzen und erbst ja nicht irgendwie wieder wie bei deiner Hauptklasse.

Denn dann sieht das ja so aus:

JFrame fenster = new JFrame();

Das was du vorher im Konstruktor machst, kannst du direkt in deiner Methode machen, in der du deinen neuen Frame erzeugst. und zwar:

JLabel menuetext;
menuetext = new JLabel("Menue");
menuetext.setBounds(162, 0, 150, 50);
menuetext.setFont(new Font("Arial", Font.BOLD, 24));
fenster.add(menuetext); fenster.setVisible(true);
Antwort
von WhiteyWhite, 6

Hallo,

mein Vorschlag ist: wenn Du Java lernen möchtest, fang erst einmal bei den Grundlagen an. Das heißt, lass Java-Grafik erst einmal außen vor.

Wichtige Dinge für den Anfang sind (z.B.): Klassen, Methoden, Konstruktoren, Instanzen, Instanzmethoden, Klassenmethoden, Klassenvariablen, Objektorientierte Programmierung (OOP) allgemein, Formatierung von Java-Code, Variablen, Datentypen usw.

Solltest Du Fragen dazu haben, wird Dir hier sicherlich weitergeholfen.

Wenn Du diese Sachen (oder eine Auswahl daraus) einigermaßen beherrschst, ist es auch einfacher für Dich, hilfreiche Antworten zu verstehen.

Nichtsdestotrotz finde ich es toll - Du merkst, mein "Klugscheißen" ist hiermit beendet -, dass Du Java lernen möchtest. Viel Erfolg dabei!

Keine passende Antwort gefunden?

Fragen Sie die Community