~Java4Beginners~
~Java4Beginners~

JWindow

JWindow ist wie JFrame ebenfalls eine Bühnenklasse. Man spricht auch davon, dass JWindow eine Top-Level-Container-Klasse ist.
JWindow besitz keinen Rahmen, d. h. in erster Linie, dass ein Objekt der Klasse JWindow keine Titelleiste besitzt und somit keine Möglichkeit ohne zusätzliche Bedienelemente besteht, dieses Fenster zu schließen, zu minimieren, zu maximieren oder einen Titeltext zu vergeben.
Nach dem Erzeugen des JWindow-Objektes stehen uns wieder einige Methoden zur Verfügung, die wir anwenden können. Nicht zur Verfügung stehen uns die Methoden, welche in Zusammenhang mit dem Rahmen stehen, d. h. die Methode setTitle() und setDefaulCloseOperation() sind nicht verfügbar.

Wichtige Methoden für JWindow

Die Klasse JWindow verfügt aber über Methoden, die für die Arbeit mit JWindow-Objekten wichtig sind.
Methode Beschreibung
dispose() Mit dieser Methode haben wir die Möglichkeit unser JWindow-Objekt zu zerstören. Dieses kann zum Beispiel über ein Bedienelement erfolgen, welches unserem JWindow-Objekt hinzugefügt wurde.

pack() passt die Größe des JWindow-Objektes so an, dass alle hinzugefügten Elemente Platz finden.

Beispielprogramm

Als Erklärung für den folgenden Quelltext sei schon mal gesagt, da dort schon Themen verarbeitet wurden, die erst zu einem späteren Zeitpunkt folgen. Da es sich bei JWindow um ein rahmenloses Fenster handelt, wurde ein Bedienelement hinzugefügt, welches als Aktion erhalten hat, dass JWindow-Objekt zu zerstören.

import java.awt.Color;
import java.awt.event.ActionEvent; // Erklärung folgt später
import java.awt.event.ActionListener; // Erklärung folgt später
import javax.swing.JButton; // Erklärung folgt später
import javax.swing.JWindow;

/**
 * Beispielprogram für die Klasse JWindow
 * @author Markus Badzura
 */
public class FensterWindows 
{
    public static void main(String[] args) 
    {
        JWindow w = new JWindow();
        w.setSize(200,500);
        w.setLocationRelativeTo(null);
        w.getContentPane().setBackground(Color.blue);
        w.setLayout(null);
        w.setVisible(true);
        //Der nachfolgende Bereich wird später erklärt. Dient hier nur zum
        //Schließen des Objektes
        JButton b1 = new JButton("schließen");
        b1.setBounds(20,20,150,25);
        w.add(b1);
        
        b1.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                w.dispose();
            }
        });        
    }
}
Das so erstellte rahmenlose Fenster sieht somit wie folgt aus.

nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-05-03