Literatur

JDesktopPane

Das JDesktopPane ist ein Container, der in erster Linie dazu dient, mehrere Unterfenster aufzunehmen. Diese Unterfenster werden meistens durch JInternalFrames realisiert, auf die wir in der nächsten Lektion näher eingehen werden. Durch die Kombination aus JDesktopPane und JInternalFrames ist es möglich, ein sogenanntes Multiple Document Interface (MDI) zu implementieren. Dies bedeutet, dass mehrere Dokumente über ein Hauptfenster angezeigt und bedient werden können. Die Dokumente werden jeweils in einem JIntermalFrame angezeigt. Die einzelnen Frames können, wie man es von Windows kennt, verschoben, verkleinert, vergrößert oder geschlossen werden.

Die Klasse JDesktopPane verfügt lediglich über den parameterlosen Standard-Konstruktor.

Im folgenden Beispiel fügen wir unserem Dialog ein JDesktopPane hinzu. 

 
// Import-Anweisungen
import java.awt.Color;
import javax.swing.*;
 
public class JDesktopPaneBeispiel
{
    // main-Methode
    public static void main(String[] args)
    {
        // Erzeugung eines neuen Dialoges
        JDialog meinJDialog = new JDialog();
        meinJDialog.setTitle("JDesktopPane Beispiel");
        meinJDialog.setSize(450,300);
 
        // JDesktopPane wird erstellt
        JDesktopPane deskPane = new JDesktopPane();
 
        // Hintergrundfarbe wird auf blau gesetzt
        deskPane.setBackground(Color.blue);
 
        // JDesktopPane wird dem Dialog hinzugefügt
        meinJDialog.add(deskPane);
 
        // Wir lassen unseren Dialog anzeigen
        meinJDialog.setVisible(true);
 
    }
}

Die Hintergrundfarbe des JDesktopPanes setzen wir auf blau, damit Sie sehen, dass es auch wirklich hinzugefügt und angezeigt wird:

JDesktopPane besitzt neben den von anderen Komponenten bekannten Methoden noch ein paar eigene. Die folgenden sind wichtig, um die auf dem JDesktopPane angeordneten Frames zu verwalten:

Methode Kurzbeschreibung
JInternalFrame [ ] getAllFrames() Diese Methode liefert alle Instanzen von JInternalFrame, die auf dem Desktop platziert wurden, in einem Array zurück.
JInternalFrame getSelectedFrame() Diese Methode liefert den aktuell aktiven JInternalFrame zurück.
void removeAll() Diese Methode entfernt alle Objekte, die dem JDesktopPane hinzugefügt wurden.

void setSelectedFrame (JInternalFrame f)

Mit dieser Methode wird der übergebene JInternalFrame selektiert und in den Vordergrund gerückt.


Unterthemen: