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

WhoIs

WhoIs ist ein bekannter befehl wenn es darum geht in Netzwerken die Identität hinter einer IP-Adresse oder eines Host-Namens heraus zu finden. Ähnlich funktioniert das auch im World Wide Web, allerdings müssen hierfür spezielle Dienste gefragt werden.

Dieses Programm tut genau das. es sucht nach dem zuständigen Dienst für eine Domain und fragt dort nach Details. Diese können dann betrachtet werden. Dadurch lässt sich zum beispiel die Identität des Webseiten-Eigners herausfinden oder Seit wann eine Domain auf eine bestimmte Person gemeldet ist.

Zur Nutzung lediglich die Domain (ohne „http://“) angeben und Los geht’s.

Getagged mit: ,
Veröffentlicht unter Download

Vier Gewinnt

Hierbei handelt es sich um ein Vier Gewinnt Spiel. Das besondere daran ist das auch eine KI enthalten ist die auf 10 Schwierigkeitsgraden Spielen kann. (Aufgepasst ab Stufe 6 wird es hart!) 😉

Getagged mit: , ,
Veröffentlicht unter Download

ggT und kgV Rechner

Dies ist ein kleines Tool das zu zwei oder mehr ganzen Zahlen den ggT und den kgV berechnet. Dabei zeigt es den Rechenweg auf der so direkt auch auf dem Papier genutzt werden kann.

Getagged mit: , ,
Veröffentlicht unter Download

Kategorien

Letzte Kommentare

    Archive