Startseite
Klassenlexikon

Klasse JPanel

Namensraum Vererbungshierarchie Schnittstellen
javax.swing
java.lang.Object
  java.awt.Component
    java.awt.Container
      javax.swing.JComponent
        JPanel
Accessible
ImageObserver
MenuContainer
Serializable
Kurzbeschreibung

Eine Instanz kann als Container für einfache Komponenten verwendet werden. JPanel ist außerdem eine geeignete Basisklasse für die Implementierung spezialisierter visueller Komponenten.


Beschreibung der Klasse in der offiziellen Java-Dokumentation

Java SE 6http://docs.oracle.com/javase/6/docs/api/javax/swing/JPanel.html
Java SE 7http://docs.oracle.com/javase/7/docs/api/javax/swing/JPanel.html

Hinweise

Vorlage für paintComponent, falls das Panel keinen Rand verwendet.

    @Override
    public void paintComponent(Graphics arg) {
        super.paintComponent(arg);
        Dimension groesse = this.getSize();
        Rectangle bereich = new Rectangle(groesse);
        Graphics2D g = (Graphics2D) arg;
        
        this.InhaltZeichnen(g, bereich);
    }

Vorlage für paintComponent, falls das Panel einen Rand verwendet.

    @Override
    public void paintComponent(Graphics arg) {
        super.paintComponent(arg);
        Dimension groesse = this.getSize();
        java.awt.Insets insets = this.getInsets();

        Rectangle bereich = new Rectangle(insets.left, insets.top,
                groesse.width - (insets.left + insets.right),
                groesse.height - (insets.top + insets.bottom));
        Graphics2D g = (Graphics2D) arg;
        
        this.InhaltZeichnen(g, bereich);
    }

Wenn das Panel mit einem Rand ausgestattet wurde, darf die Strichbreite des Zeicheninstruments in paintComponent nicht verändert werden. Die folgende Vorlage sollte in dieser Situation verwendet werden:

    @Override
    public void paintComponent(Graphics arg) {
        super.paintComponent(arg);
        Dimension groesse = this.getSize();
        java.awt.Insets insets = this.getInsets();

        Rectangle bereich = new Rectangle(insets.left, insets.top,
                groesse.width - (insets.left + insets.right),
                groesse.height - (insets.top + insets.bottom));
        Graphics2D g = (Graphics2D) arg;
        
        Stroke st = g.getStroke();   //  Strichbreite speichern
        this.InhaltZeichnen(g, bereich);
        g.setStroke(st);             //  frühere Strichbreite wiederherstellen
    }

Startseite
Klassenlexikon