Skip to main content

Ein Java Fenster erzeugen mit dem JFrame

Ein Java Fenster erzeugen mit Swing.

Java Swing – was ist das?
Zum Erstellen von grafischen Benutzeroberflächen, kurz GUI, bietet Java eine eigene Standardklasse an.
Diese Klasse nennt sich Swing.

Aus dieser Swing-Klasse heraus können Objekte erstellt werden.
Diese Objekte lassen sich in vier verschiedene Kategorien einteilen.

  • Fenster und Dialoge bilden das Grundgerüst einer grafischen Oberfläche.
  • Die zweite Kategorie sind die Menüs.
    Diese dienen der Steuerung eines Programmes.
    Mit Hilfe von Menüs kann durch das Programm navigiert und es können weitere Fenster geöffnet werden.
  • Auf den einzelnen Fenster werden Container platziert.
    Und diese wiederum enthalten Bedienelemente wie Buttons, Eingabefelder und Schaltflächen.

Also dann – lass uns beginnen das Grundgerüst einer GUI zu erstellen.

So kannst du ein Java Fenster erzeugen

Und zwar legst du ein Objekt der Klasse JFrame an.

Und so geht’s.

import javax.swing.JFrame;//Importanweisung der Klasse JFrame aus dem package Swing

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame(); //neues Frame bzw. Fenster
	}
}

Um ein Dialogfenster vom Typ JFrame anzulegen, musst du die Klasse importieren.
Diese Klasse befindet sich in einem Package namens Swing.
Im diesem Swing-Package befinden sich weitere Elemente für die grafische Benutzeroberfläche.

Wenn du jetzt auf „Run“ klickst, passiert äußerlich im Programm erst einmal noch gar nichts.
Du solltest für dieses Dialogfenster eine bestimmte Fläche reservieren.

Und eine Fläche besteht immer aus einer Breite und einer Höhe.
Also weisen wir auch diese zu.

Das Fenster benötigt jetzt noch eine individuelle Breite und Höhe.

Die Zuweisung erfolgt mit einer Methode, namens setSize().
Und dieser Methode übergibst du dann zwei Zahlen.
Zuerst die Breite und dann die Höhe.

Da es sich hierbei um eine Instanzmethode handelt, rufst du diese an der Referenzvariable auf.

import javax.swing.JFrame;//Importanweisung

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame(); //neues Frame bzw. Fenster
		fenster.setSize(600, 400);//Aufruf der Methode an der Referenzvariablen und Setzen der Breite 600 und Höhe 400
	}
}

So eine Höhe und Breite haben wir zugewiesen.

Klicke nochmals auf „RUN“ und schau was passiert.
Auch jetzt rührt sich noch nichts.

Eine Variable muss noch geändert werden.
Und zwar die Variable für die Sichtbarkeit.

Das Fenster ist noch nicht sichtbar.

Zum Sichtbarmachen nutze die Methode setVisible().
Als Parameter kannst du der Methode entweder den Wert true für sichtbar oder false für unsichtbar übergeben.

import javax.swing.JFrame;//Importanweisung

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame(); //neues Frame bzw. Fenster
		fenster.setSize(600, 400);//Setzen der Breite 600 und Höhe 400
		fenster.setVisible(true);//Fenster ist sichtbar, da true
	}
}

Klicke nochmals auf „RUN“ und jetzt erscheint das Fenster.

Java Fenster erzeugen JFrame

Lass uns jetzt dieses Grundgerüst etwas individueller gestalten.

Jedem Dialogfenster kannst du einen Titel oder Namen zuweisen.

Und so geht’s.

import javax.swing.JFrame;//Importanweisung

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame("Neues Fenster"); //neues Frame bzw. Fenster
		fenster.setSize(600, 400);//Setzen der Breite 600 und Höhe 400
		fenster.setVisible(true);//Fenster ist sichtbar
	}
}

Du kannst dem Objekt direkt beim Konstruktoraufruf einen String übergeben.
Der zugewiesene String-Wert erscheint dann am oberen Rand des Dialogfensters als Name oder Titel.

Java-Fenster-erzeugen-mit-individuellen-Namen

Um den Titel nachträglich zu vergeben oder zu ändern, bietet dir Java die Instanzmethode setTitle() an.

import javax.swing.JFrame;//Importanweisung

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame("Neues Fenster"); //neues Frame bzw. Fenster
		fenster.setSize(600, 400);//Setzen der Breite 600 und Höhe 400
		fenster.setVisible(true);//Sichtbarkeit des Fensters
		fenster.setTitle("Hallo Matze");//Änderung des Titels
	}
}

In der Parameterliste der Methode übergibst du den String und dieser Titel erscheint dann ebenfalls am oberen Rand.

Java-Fenster-erzeugen-Titel-ändern

Was soll passieren, wenn das Fenster geschlossen wird

Da gibt es zwei Möglichkeiten.
Und zwar wird einfach nur das Fenster geschlossen oder das Programm wird komplett beendet.

In unserem Fall wird lediglich das Fenster geschlossen.
Um dies zu demonstrieren,

  • lege ich ein zweites Fenster an
  • Starte das Programm
  • Und schließe ein Fenster durch einen Klick auf das X oben in der Ecke.

Java-Fenster-schließen

import javax.swing.JFrame;//Importanweisung

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame("Neues Fenster"); //neues Frame bzw. Fenster		
		fenster.setSize(600, 400);//Setzen der Breite 600 und Höhe 400
		fenster.setVisible(true);//Sichtbarkeit des Fensters
		fenster.setTitle("Hallo Matze");//Änderung des Titels
		
		JFrame fensterZwei = new JFrame("Zweites Fenster"); //zweites Frame bzw. Fenster		
		fensterZwei.setSize(500, 300);//Setzen der Breite 500 und Höhe 300
		fensterZwei.setVisible(true);//Sichtbarkeit des Fensters
	}
}

Wenn du es selbst ausprobierst, wirst du feststellen, dass sich lediglich das Fenster schließt.
Manchmal ist es aber schon sinnvoll, dass sich alle Fenster auf einmal schließen und das Programm komplett beendet wird.

Um dies zu erreichen musst du dem entsprechenden Fenster eine Anweisung mitgeben.
Die Instanzmethode dazu nennt sich setDefaultCloseOperation().
In der Parameterliste übergibst du die Konstante JFrame.EXIT_ON_CLOSE.

import javax.swing.JFrame;//Importanweisung

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame("Neues Fenster"); //neues Frame bzw. Fenster		
		fenster.setSize(600, 400);//Setzen der Breite 600 und Höhe 400
		fenster.setVisible(true);//Sichtbarkeit des Fensters
		fenster.setTitle("Hallo Matze");//Änderung des Titels
		
		JFrame fensterZwei = new JFrame("Zweites Fenster"); //zweites Frame bzw. Fenster		
		fensterZwei.setSize(600, 400);//Setzen der Breite 600 und Höhe 400
		fensterZwei.setVisible(true);//Sichtbarkeit des Fensters
		fensterZwei.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Programm wird geschlossen
	}
}

Wenn du jetzt das Fenster „Hallo Matze“ schließt, schließt sich lediglich dieses Fenster.
Falls du allerdings das Fenster „Zweites Fenster“ schließt, schließen sich alle Fenster – und somit das komplette Programm.

Java Fenster schließen Programm schließen

So lassen sich die Dialogfenster anordnen

Da wir bisher schon zwei Fenster haben, sollte man festlegen können – welches im Vordergrund und welches im Hintergrund platziert wird.

Und diese Anordnung vollziehst du mit den Methoden toFront() und toBack().

import javax.swing.JFrame;

public class SwingFenster {

	public static void main(String[] args) {
		JFrame fenster = new JFrame("Neues Fenster"); 		
		fenster.setSize(600, 400);
		fenster.setVisible(true);
		fenster.setTitle("Hallo Matze");
		fenster.toFront();//Vorderes Fenster
		
		JFrame fensterZwei = new JFrame("Zweites Fenster"); 		
		fensterZwei.setSize(600, 400);
		fensterZwei.setVisible(true);
		fensterZwei.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fensterZwei.toBack();//Fenster ist im Hintergrund
	}
}

Zuammenfassung:

  • Dialogfenster bilden in Java das Gründgerüst für eine grafische Benutzeroberfläche GUI.
  • Um nun so ein Java Fenster erzeugen zu können, musst du ein Objekt der Klasse JFRame anlegen.
  • Du kannst diesem JFrame-Objekt beim Konstruktoraufruf einen Titel als String übergeben.
    Oder du kannst diesen Titel nachträglich anlegen oder ändern.
  • Außerdem kannst du festlegen, ob beim Schließen des Fensters das komplette Programm geschlossen werden soll oder nur das einzelne Fenster.

Ähnliche Beiträge

Java lernen durch ständiges Testen – Nutze die Testumgebung von Eclipse

Java Programmierung lernen

Probieren geht über studieren Wenn du wirklich Java Programmierung lernen möchtest, dann solltest du Java nicht aus einem Buch lernen. Du solltest auch nicht strikt von dieser oder anderen Webseiten lernen. Etwas wirklich zu lernen, setzt die Bereitschaft voraus, etwas zu probieren. Denn nur durch eigenes Probieren gelangst du zum Wesentlichen. Durch Probieren wirst du […]

So einfach lassen sich Java Strings umkehren

Java Strings umkehren

Kennst du noch das Lied „ANNA“ von Freundeskreis? Da hieß es: Du bist von hinten, wie von vorne A-N-N-A. Solche Namen oder Wörter, welche von hinten nach vorne gelesen – die gleiche Bedeutung haben, nennt man Palindrome. Anna, Ehe oder Ebbe sind recht kurze Palindrome. Aber auch längere zusammengesetzte Palindrome kennt die deutsche Sprache: Regallager […]

Warum Java Kommentare immer ein Mittel der Kommunikation sind

Java Kommentare Kommunikation

Kennst Du die Bücherreihe „Miteinander reden“ von Schulz von Thun? Falls Du an der Uni warst oder bist, gehört dieses Buch zur Standardlektüre im Fach Schlüsselkompetenz. Denn ein Java Entwickler, welcher im Team arbeitet, muss klar und deutlich kommunizieren können. Und klar und deutlich heißt nicht, dass die Aussprache Deiner Worte verständlich sein soll. Nein […]

Die mathematischen Grundlagen des Dezimalsystems für Java Programmierer

Java Dezimalsystem Mathematik Programmierer

Bei der Java Programmierung benötigst du Kenntnisse über das Dezimalsystem. Allein schon für die technische Umsetzung beim Runden einer Zahl. Oder du möchtest den Kehrwert bzw. den Umkehrwert einer Zahl im Programm bestimmen lassen. Aber auch für das Herausfinden des Stellenwertes – also wieviel Stellen hat eine Zahl – benötigst du das Grundwissen des Dezimalsystems. […]

Das Java Vererbung Konzept in einem Rollenspiel

Java ist eine objektorientierte Programmiersprache. Und das bedeutet nicht nur, dass du Objekte einer Java Klasse erzeugen kannst. Es bedeutet auch, dass Java Klassen von anderen Klassen erben können. Wieso das Ganze? Stell dir einmal ein Rollenspiel vor. Wie würdest du ein Rollenspiel entwerfen? In einem Rollenspiel gibt es magische Gegenstände. Zauberringe, Zauberstäbe, welche bei […]

So kannst du Eclipse installieren

Eclipse installieren

Das Schöne an Eclipse ist, es läuft auf sämtlichen Betriebssystemen. Eclipse wird einfach auf der Webseite des Herstellers herunter geladen und kann dann installiert werden. Dabei stehen dir verschiedene Versionen zur Verfügung.

Lexikalik, Syntax und Semantik in Programmiersprachen

Programmiersprachen Semantik Programmiersprachen Syntax Programmiersprachen Lexikalik Java

Java ist eine Programmiersprache. Und wie jede andere Programmiersprache ist auch Java, lediglich eine künstliche Sprache.   Normalerweise bieten künstliche Projekte immer jede Menge Spielraum für Eigenkreationen. Bei der Programmierung ist dies nicht ganz so. Denn Programmiersprachen sind auch immer sehr exakt.   Jede Programmiersprache und auch jede gesprochene Sprache folgt immer einer Abstraktionsreihenfolge, welche […]

Java Übung 27 – Auf zur Mathe-Olympiade

Java Übung Mathe Olympiade

In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher die wenigsten Fehler hatte – […]