JFrame – einfaches erzeugen von Fenstern

In diesem Artikel geht es darum wie in Java ein JFrame (ein einfaches Fenster) erzeugt werden kann und wie die verschiedenen Einstellungen genutzt werden können.


  1. Erstellung eines JFrame
  2. Wie greife ich auf den JFrame zu?
  3. Eigenschaften und Einstellungsmöglichkeiten

Erstellung eines JFrame

Ein JFrame ist natürlich eine Java-Klasse und kann wie andere Java-Klassen Initialisiert werden.
Um Also einfach einen Leeren JFrame zu erstellen können wir einfach den Konstruktor nutzen.

import javax.swing.JFrame;
public class MeineKlasse 
{ 
    public static void main (String [] args)
    { 
        JFrame meinFrame =new JFrame();
    }
} 

Falls wir diesem direkt einen Titel geben möchten können wir auch das schon über den Konstruktor. Dieser Titel wird von der UI verwendet um das Fenster darzustellen. Normalerweise taucht er als Text im Balken am oberen Fensterrand auf.

import javax.swing.JFrame;
public class MeineKlasse 
{ 
    public static void main (String [] args)
    { 
        JFrame meinFrame =new JFrame("Mein JFrame Titel");
    }
} 

Wie greife ich auf den JFrame zu?

nun gibt es grundsätzlich zwei gängige Wege auf ein JFrame zuzugreifen um seine Eigenschaften zu verändern.

Mann kann entweder wie oben gezeigt ein neues JFrame-Objekt erzeugen und dann auf dieses direkt zugreifen. Dieser weg eignet sich besonders gut wenn man beabsichtigt “nur schnell mal” ein JFrame zu erzeugen das ansonsten nicht viel Einstellungen braucht.

import javax.swing.JFrame;
public class MeineKlasse
{
    public static void main (String [] args)
    {
        JFrame meinFrame =new JFrame();
        meinFrame.setSize(200,100);
        meinFrame.setLocation(100,100);
        meinFrame.setTitle("Mein JFrame Titel");
        meinFrame.setVisible(true);
    }
} 

!!!Achtung .setVisible(true); muss immer aufgerufen werden damit das JFrame überhaupt angezeigt wird!!!

Die zweite Möglichkeit ist es eine Kind-Klasse von JFrame zu erzeugen. Das heißt eine Klasse die den Zusatz Parameter extends JFrame nutzt.

import javax.swing.JFrame;
public class MeineKlasse extends JFrame
{
    public MeineKlasse ()
    {
        this.setSize(200,100);
        this.setLocation(100,100);
        this.setTitle("Mein JFrame Titel");
        this.setVisible(true);
    }
    public static void main (String [] args)
    {
        MeineKlasse meinFrame =new MeineKlasse();
    }
}

Diese Vorgehensweise ist vor allem dann sinnvoll wenn mehrere JFrames erzeugt werden sollen welche die gleiche Konfiguration haben. Oder wenn die Konfiguration so Umfangreich ist das der Code in der Main-Funktion stören würde.

Eigenschaften und Einstellungsmöglichkeiten

Hier zeige ich welche Funktionen wichtig/Praktisch sind und welchen Effekt sie haben. Natürlich kann ich nicht alle Funktionen oder Attribute von JFrame erklären, daher beschränke ich mich auf die wichtigsten.

Funktion oder Attribut

Erklärung

setSize(width, height)

setzt die Größe des Fensters.

setLocation(x,y) setzt die Position des Fensters. Wobei (0, 0) bedeutet das die Linke obere ecke genau in der Linken oberen Ecke des Monitors ist.
setTitle(String) setzt den Titel des Fensters.
getContentPane() Liefert ein Objekt der Klasse Container zurück. Falls man vorhat weitere Komponenten (JButton, JTextField, …) in dem JFrame anzuzeigen dann sollten diese dem Container hinzugefügt werden und nicht direkt dem JFrame.
setVisible(boolean) macht den JFrame erst sichtbar! bzw. auch wieder Unsichtbar.
setDefaultCloseOperation(int ) erlaubt es festzulegen was passiert wenn der Nutzer auf das “X” klickt. Die zu Verfügung stehenden Optionen sind:
JFrame.DO_NOTHING_ON_CLOSE
JFrame.HIDE_ON_CLOSE
JFrame.DISPOSE_ON_CLOSE
JFrame.EXIT_ON_CLOSE
setLayout(LayoutManager) Erlaubt es ein LayoutManager für die Sortierung der Komponenten auf diesem JFrame zu verwenden. Dies ist gerade bei vielen Komponenten und/oder flexiblen Designs von Vorteil.
setUndecorated(boolean) erlaubt es die Dekoration des Fensters abzuschalten. Mit Dekoration ist all das Drumherum gemeint. Also z.B. Der Rahmen, die Buttons (Minimieren, Vergrößern, Schließen) und die Titelleiste.
Falls setUndecorated(true) gesetzt wurde ist das Fenster nur noch ein Quadrat!
setBackground(Color) setzt die Hintergrundfarbe des Fensters.
setResizable(boolean) Wenn dieser Parameter auf “false” gesetzt wird kann das Fenster vom User nicht in der Größe geändert werden.
Getagged mit:
Veröffentlicht unter Allgemein

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Kategorien

Letzte Kommentare

    Archive