Anfängerfragen zu GUI

Mane123

Bekanntes Mitglied
Hallo zusammen,

ich habe gestern mit der grafischen Programmierung von JAVA begonnen.
In meinem Buch ist mir dabei folgendes Listing aufgetaucht:

Die Klasse für das Fenster:

Java:
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;


//das Swing-Fenster
//die Klasse erbt von der Swing Klasse JFrame
//JFrame bildet ein Anwendungsfenster ab



public class HalloWeltGUI extends JFrame {
	
	//der Konstruktor
	//er ruft den Konstruktor der Basisklasse auf
	//übergibt den Titel des Fensters
	
	//erzeugt die Komponenten und setzt weiter
	//Eigenschaften des Fensters
	
	public HalloWeltGUI (String fenstertitel) {
		
		super (fenstertitel);
		
		//ein neues Label erzeugen
		
		JLabel ausgabe = new JLabel ("Hallo Welt");
		
		//ein weiters Label erzeugen
		
		JLabel ausgabe2 = new JLabel ("Es grüßt dich Max Meier!");
		
		//eine Schaltfläche erzeugen
		
		JButton schaltflaeche = new JButton ("Beenden!");
		
		//die Komponenten hinzufügen
		
		add(ausgabe);
		add (ausgabe2);
		add (schaltflaeche);
		
		//das Fenster packen
		
		pack ();
		
		//Das Verhalten beim Schließen setzen
		
		setLayout (new FlowLayout ());
		
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
		
		setVisible (true);
	}

}

Die Klasse, welche das Fenster anzeigen lässt:

Java:
public class GUITest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		
		new HalloWeltGUI ("Hallo Welt mit ein Wenig Leben!");
	}

}

Mir geht es um die Zeile "new HalloWeltGUI ("Hallo Welt mit ein Wenig Leben!");"

Warum muss ich hier keine Instanz von HalloWeltGUI erzeugen?


In einem vorherigen Listing sah die Zeile um das Fenster anzuzeigen so aus:

Java:
JLabel ausgabe = new JLabel ("Hallo Weltttt!");
		
		
		add (ausgabe);

Ich weiß, es hat etwas mit dem "add (ausgabe)" zu tun. In meinem obigen Listing erfolgt diese adden direkt im Konstruktor.

Allerdings versteh ich das nicht so richtig?

Vielen DAnk!
 

javimka

Top Contributor
Um das Fenster sehen zu können, muss setVisible(true) aufgerufen werden. Das passiert in deinem Listing in Zeile 55. Mit add fügst du dem Fenster weitere Komponenten hinzu.
 

diggaa1984

Top Contributor
Warum muss ich hier keine Instanz von HalloWeltGUI erzeugen?
das tust du ja dennoch mit dem new-Operator .. nur speicherst du diese Instanz in keiner Variablen ab, also es erfolgt keine Zuweisung à la
Code:
x = new ...

allerdings sollte man setVisible nicht im Konstruktor aufrufen, da das Fenster nicht selbst weiss wann es mal angezeigt werden soll :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Einige Anfängerfragen (Datentypen, Wertebereich) Java Basics - Anfänger-Themen 11
M Anfängerfragen.... Java Basics - Anfänger-Themen 2
E Erste Schritte Verschiedene Anfängerfragen (Rekursion, Terminierung, Schleife, etc.) Java Basics - Anfänger-Themen 5
C Einige Anfängerfragen (Return-Wert, Exception...) Java Basics - Anfänger-Themen 11
J Einige Anfängerfragen Java Basics - Anfänger-Themen 3
S Erste Schritte Einige Anfängerfragen Java Basics - Anfänger-Themen 5
B 2 Anfängerfragen zu JDK und javac Java Basics - Anfänger-Themen 4
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
J showInputDialog anfängerfragen =D Java Basics - Anfänger-Themen 3
F Anfängerfragen Java Basics - Anfänger-Themen 3
M Anfängerfragen zu Java Applets Java Basics - Anfänger-Themen 4
A 2 anfängerfragen Java Basics - Anfänger-Themen 5
T verschiedene Anfängerfragen Java Basics - Anfänger-Themen 20
N Anfängerfragen und Zugriff auf JTextField Java Basics - Anfänger-Themen 5
T Anfängerfragen von Takeru Java Basics - Anfänger-Themen 4
R Noch ein paar Anfängerfragen. Java Basics - Anfänger-Themen 4
S Ein paar Anfängerfragen Java Basics - Anfänger-Themen 17
B Grobe Anfängerfragen Java Basics - Anfänger-Themen 2
1 Einige Anfängerfragen Java Basics - Anfänger-Themen 12
A Kleine Anfängerfragen u.a.: Kann man Random "speichern& Java Basics - Anfänger-Themen 6
B Paar richtige Anfängerfragen Java Basics - Anfänger-Themen 7
J gui anfängerfragen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben