Instanzieren und Zuweisen vom BorderLayout an Container nicht notwendig ?

Status
Nicht offen für weitere Antworten.

XFlipX

Aktives Mitglied
Hallo,

meine Frage steht schon in der Überschrift. Ich habe wohl auch - ich glaube hier im Forum - mal gelesen, dass alle Container schon das BorderLayout von Hause aus mitbringen. Sodass ich das BorderLayout nicht explizit instanzieren und zuweisen muss. Ich also sofort bei der add Methode schon mit den BorderLayout - Konstanten arbeiten kann.

XFlipX
 
Nun, ich weiß es zumindest für drei Container:
  • JFrame hat BorderLayout
  • JDialog hat BorderLayout
  • JPanel hat FlowLayout
 
Probiers doch einfach aus ^^

Wenns geht, dann ist es so und wenn nicht, dann nicht ;-)

PS:
Ja, es ist so ;-)
 
Danke für die Antworten -> ausprobiert habe ich es, die Konstanten nimmt er jedenfalls ohne vorherige Instanzierung/Zuweisung -> es reicht einfach der Import der Superklasse.

Nur mit dem Unterschied, dass sie bei manchen Containern eben Wirkung zeigen und bei manchen eben nicht. Gerade in Bezug auf JPanel.

Bsp.:

jpanel.add(exitBtn, BorderLayout. CENTER);

-> keine Beanstandung vom Compiler aber null Wirkung -> hier ist die explizite Instanzierung/Zuweisung nötig:

jpanel.setLayout(new BorderLayout());
jpanel.add(exitBtn, BorderLayout. CENTER);

Also scheint die Aussage von KrokoDiehl zu stimmen 😉

Danke XFlipX
 
Jo, ich hab im JPanel-Code geschaut 😉

Java:
    /**
     * Creates a new <code>JPanel</code> with <code>FlowLayout</code>
     * and the specified buffering strategy.
     * If <code>isDoubleBuffered</code> is true, the <code>JPanel</code>
     * will use a double buffer.
     *
     * @param isDoubleBuffered  a boolean, true for double-buffering, which
     *        uses additional memory space to achieve fast, flicker-free 
     *        updates
     */
    public JPanel(boolean isDoubleBuffered) {
        this(new FlowLayout(), isDoubleBuffered);
    }
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben