Swing Borderlayout im JFrame

Constikri

Mitglied
Hey Leute,
ich bin ein totaler Anfänger in Java und habe nun das Problem, das ich ein Container in einem JFrame habe und in diesem Container soll ein Borderlayout verwendet werden. Hier ist mein code für das JFrame:

Java:
public void fenster(){
             JFrame frame1 = new JFrame();
             frame1.setTitle("Kapitel 1");
             frame1.setSize(1440,900);
             frame1.setVisible(true);
             frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             Icon bild = new ImageIcon("/Users/constantinkrischke/Documents/Jahresarbeit/vierter Versuch/dorf.png");
            JLabel l1 = new JLabel (bild);

            a = getContentPane();
            a.setLayout(new BorderLayout());

             f1[0] = new Label("Text");
            f1[1] = new Label("Text");
            f1[2] = new Label("das hier soll angezeigt werden");

            frame1.add(f1[0], BorderLayout.NORTH);
            frame1.add(weiter, BorderLayout.SOUTH);
            frame1.add(f1[1], BorderLayout.EAST);
            frame1.add(f1[2], BorderLayout.WEST);
            frame1.add(l1, BorderLayout.CENTER);
         }

Alle benötigten Variablen hab ich schon vorher deklariert und wenn ich das Kompiliere funktioniert das auch soweit, doch wenn ich das dann starte, erscheint in dem Frame nur das wort "text" in der linken oberen Ecke.
Was mach ich falsch? kann mir jemand helfen?
 

Jardcore

Top Contributor
Hey Constikri,

also zuersteinmal sind die Bezeichnungen deiner Variablen sehr dürftig. f1[...], a, frame1.
Das könntest du schon mal überarbeiten :)

Dein Problem wird wahrscheinlich nicht in dem von dir geposteten Code sein, sondern eher dort wo du auch ein Label hast das "text" heißt. Hier gibt es nämlich nur Label mit "Text".

Allgemein hier mal ein Minibeispiel fürs BorderLayout:
Java:
public class BorderLayoutExample extends JDialog {

    private static final int WINDOW_WIDTH = 300;
    private static final int WINDOW_HEIGHT = 300;
 
    public BorderLayoutExample() {
        setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
        createBorderLayout();
        setVisible(true);
    }

    private void createBorderLayout(){
       getContentPane().setLayout(new BorderLayout());
       add(new Label("north"), BorderLayout.NORTH);
       add(new Label("south"), BorderLayout.SOUTH);
       add(new Label("east"), BorderLayout.EAST);
       add(new Label("west"), BorderLayout.WEST);
       add(new Label("center"), BorderLayout.CENTER);
    }
}

Hier natürlich aufpassen, ich erbe hier von JDialog und kann dadurch die Instanzmethoden alle direkt aufrufen.

Beste Grüße,
Jar
 

Constikri

Mitglied
wie gesagt, dies ist nicht der ganze code, ich poste hier mal alles:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class FourthTry extends JFrame implements ActionListener {
Container c;
Container a;
private JButton schließen;
private JButton ende;
private JButton weiter;
Label f1[] = new Label[3];

private static final long serialVersionUID = 11031998;
    
    public FourthTry() {
       
    c = getContentPane();
    c.setLayout (new BorderLayout());   

    schließen = new JButton("Spiel starten");
    schließen.setBounds(120,120,160,40);
    schließen.addActionListener(this);
     
    ende = new JButton("Ende");
    ende.setBounds(120,200,160,40);
    ende.addActionListener(this);

    add(schließen, BorderLayout.NORTH);
    add(ende, BorderLayout.CENTER);
       
    }

    public static void main(String[] args){
     FourthTry frame = new FourthTry();
     frame.setTitle("A Fairytale");
     frame.setSize(800,600);
     frame.setVisible(true);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
   
    public void actionPerformed(ActionEvent e){
        if (e.getSource() == schließen){
            fenster();
        }
        if (e.getSource() == ende){
            System.exit(0);
        }
     }
         public void fenster(){
             JFrame frame1 = new JFrame();
             frame1.setTitle("Kapitel 1");
             frame1.setSize(1440,900);
             frame1.setVisible(true);
             frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             Icon bild = new ImageIcon("/Users/constantinkrischke/Documents/Jahresarbeit/vierter Versuch/dorf.png");
            JLabel l1 = new JLabel (bild);

            a = getContentPane();
            a.setLayout(new BorderLayout());

             f1[0] = new Label("Text");
            f1[1] = new Label("Text");
            f1[2] = new Label("das hier soll angezeigt werden");

            frame1.add(f1[0], BorderLayout.NORTH);
            frame1.add(weiter, BorderLayout.SOUTH);
            frame1.add(f1[1], BorderLayout.EAST);
            frame1.add(f1[2], BorderLayout.WEST);
            frame1.add(l1, BorderLayout.CENTER);
         }
     }
 

Jardcore

Top Contributor
Du hast vergessen "weiter" zu deklarieren.

Java:
public class ForthyTry extends JFrame implements ActionListener {
    private JButton spielStartenButton;
    private JButton endeButton;
    private JButton weiterButton;
    private Label labels[] = new Label[3];

    public static void main(String[] args) {
        BorderLayoutExample frame = new BorderLayoutExample();
        frame.setTitle("A Fairytale");
        frame.setSize(800, 600);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public ForthyTry() {
        setLayout(new BorderLayout());

        spielStartenButton= new JButton("Spiel starten");
        spielStartenButton.setBounds(120, 120, 160, 40);
        spielStartenButton.addActionListener(this);

        endeButton= new JButton("Ende");
        endeButton.setBounds(120, 200, 160, 40);
        endeButton.addActionListener(this);
    
        weiterButton = new JButton("Weiter");
        weiterButton.setBounds(120, 200, 160, 40);
        weiterButton.addActionListener(this);

        add(spielStartenButton, BorderLayout.NORTH);
        add(endeButton, BorderLayout.CENTER);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == spielStartenButton) {
            zeigeSpielfenster();
        }
        if (e.getSource() == endeButton) {
            System.exit(0);
        }
    }

    private void zeigeSpielfenster() {
        JFrame spielfenster = new JFrame();
        frame1.setTitle("Kapitel 1");
        frame1.setSize(1440, 900);
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //Icon bild = new ImageIcon("/Users/constantinkrischke/Documents/Jahresarbeit/vierter Versuch/dorf.png");
        //JLabel l1 = new JLabel(bild);
    
        spielfenster.setLayout(new BorderLayout());

        labels[0] = new Label("Text");
        labels[1] = new Label("Text");
        labels[2] = new Label("das hier soll angezeigt werden");

        spielfenster.add(labels[0], BorderLayout.NORTH);
        spielfenster.add(weiterButton, BorderLayout.SOUTH);
        spielfenster.add(labels[1], BorderLayout.EAST);
        spielfenster.add(labels[2], BorderLayout.WEST);
        //spielfenster.add(l1, BorderLayout.CENTER);

        spielfenster.setVisible(true);
      
    }
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Q JFrame/BorderLayout AWT, Swing, JavaFX & SWT 3
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
L BorderLayout in BorderLayout verknüpfen AWT, Swing, JavaFX & SWT 2
M Bewegtes Bild im BorderLayout.CENTER AWT, Swing, JavaFX & SWT 6
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
C Swing Geschachteltes GUI mit BorderLayout - Vertikal & horizontal Verschieben AWT, Swing, JavaFX & SWT 1
P AWT BorderLayout AWT, Swing, JavaFX & SWT 2
A BorderLayout "Center" Inhalt wechseln AWT, Swing, JavaFX & SWT 1
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
B Swing Borderlayout East über North AWT, Swing, JavaFX & SWT 5
A LayoutManager Höhe von NORTH beim BorderLayout ändern AWT, Swing, JavaFX & SWT 4
bluerob Panel im BorderLayout South wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
M BorderLayout JPanel liegt nicht richtig an AWT, Swing, JavaFX & SWT 12
R BorderLayout AWT, Swing, JavaFX & SWT 4
C LayoutManager BorderLayout im richtigen Format beschriften AWT, Swing, JavaFX & SWT 10
C CardLayout in BorderLayout? AWT, Swing, JavaFX & SWT 36
S Problem mit BorderLayout NORTH und SOUTH AWT, Swing, JavaFX & SWT 2
T Borderlayout Ecken AWT, Swing, JavaFX & SWT 2
H Swing JInternalFrame, JDesktopPane und ein BorderLayout AWT, Swing, JavaFX & SWT 2
R Problem mit Box bzw BorderLayout AWT, Swing, JavaFX & SWT 6
G LayoutManager BorderLayout WEST Bereich auf maximale Größe beschränken AWT, Swing, JavaFX & SWT 19
P LayoutManager BorderLayout - Zweimal Norden ? AWT, Swing, JavaFX & SWT 4
E LayoutManager GridBagLayout in BorderLayout - Abstand bei Resizing AWT, Swing, JavaFX & SWT 2
R BorderLayout: EAST, CENTER, WEST AWT, Swing, JavaFX & SWT 5
2 AWT Borderlayout: Grafikelemente ein und ausblenden AWT, Swing, JavaFX & SWT 2
J LayoutManager BorderLayout - 2 Buttons in SOUTH nebeneinander platzieren? AWT, Swing, JavaFX & SWT 3
N JPanel vertikal im BorderLayout zentrieren AWT, Swing, JavaFX & SWT 2
S Anordnen von Buttons im BorderLayout AWT, Swing, JavaFX & SWT 6
F Im BorderLayout eine feste Grösse zuweisen! AWT, Swing, JavaFX & SWT 9
S JSplitpane in BorderLayout nutzen AWT, Swing, JavaFX & SWT 4
K LayoutManager Borderlayout - NORTH aktualisieren AWT, Swing, JavaFX & SWT 10
B Swing BorderLayout und JPanel AWT, Swing, JavaFX & SWT 3
A GUI Komponenten in Borderlayout zeichnen AWT, Swing, JavaFX & SWT 3
B BorderLayout AWT, Swing, JavaFX & SWT 8
S Swing BorderLayout + Backgroundcolor AWT, Swing, JavaFX & SWT 3
0din Austausch von JPanel in BorderLayout AWT, Swing, JavaFX & SWT 3
X Instanzieren und Zuweisen vom BorderLayout an Container nicht notwendig ? AWT, Swing, JavaFX & SWT 4
E AWT Formatierung in BorderLayout AWT, Swing, JavaFX & SWT 10
D Resizeverhalten BorderLayout AWT, Swing, JavaFX & SWT 3
calzone Swing und BorderLayout AWT, Swing, JavaFX & SWT 11
Strahlungsleck Problem mit dem Anzeigen von Elementen im BorderLayout AWT, Swing, JavaFX & SWT 6
R LayoutManager ähnlich BorderLayout, mit einer Ausnahme AWT, Swing, JavaFX & SWT 2
D BorderLayout.Center mit 3 Panel und dynamischer Größe AWT, Swing, JavaFX & SWT 2
P Probleme bei BorderLayout im JPanel AWT, Swing, JavaFX & SWT 7
G Komponente oben positionieren (BorderLayout) AWT, Swing, JavaFX & SWT 3
G BorderLayout - zentrieren AWT, Swing, JavaFX & SWT 1
S [BorderLayout]WEST/EAST sollen über ganze Höhe gehen; AWT, Swing, JavaFX & SWT 3
A BorderLayout Verhältnis festlegen? AWT, Swing, JavaFX & SWT 5
F Farbe für den Hintergrund eine BorderLayout-Teils AWT, Swing, JavaFX & SWT 5
O Probleme bei BorderLayout AWT, Swing, JavaFX & SWT 5
H Bei BorderLayout SOUTH minimieren AWT, Swing, JavaFX & SWT 3
DeeDee0815 Abstand ZUM BorderLayout AWT, Swing, JavaFX & SWT 13
K BorderLayout--> feste Größe AWT, Swing, JavaFX & SWT 2
D BorderLayout + Buttongröße ändern AWT, Swing, JavaFX & SWT 4
P JPanel im BorderLayout feste Größe/Position zuordnen AWT, Swing, JavaFX & SWT 3
L Alle Inhalte in BorderLayout.CENTER löschen? AWT, Swing, JavaFX & SWT 2
M Layout Problem (GrudBag- + BorderLayout) AWT, Swing, JavaFX & SWT 6
O GridBag IN BorderLayout? AWT, Swing, JavaFX & SWT 5
J BorderLayout / 1 Panel in Mitte und 1 Panel im Osten anordne AWT, Swing, JavaFX & SWT 6
F FlowLayout in BorderLayout AWT, Swing, JavaFX & SWT 4
D BorderLayout mit JTextField AWT, Swing, JavaFX & SWT 7
B BorderLayout.WEST (JTree strecken in Höhe) AWT, Swing, JavaFX & SWT 2
B BorderLayout/JSplitPane Problem beim Ausrichten AWT, Swing, JavaFX & SWT 5
F Anordnung im BorderLayout AWT, Swing, JavaFX & SWT 6
S Toolbar in einem BorderLayout verschieben AWT, Swing, JavaFX & SWT 4
M FlowLayout in BorderLayout einbinden? AWT, Swing, JavaFX & SWT 6
J Ermittlung der Ausrichtung einer Komponente im BorderLayout AWT, Swing, JavaFX & SWT 3
M AWT borderLayout AWT, Swing, JavaFX & SWT 7
R dummes BorderLayout :( AWT, Swing, JavaFX & SWT 8
H BorderLayout.setBackground AWT, Swing, JavaFX & SWT 2
J paint(Graphics g) im BorderLayout einem JPanel zuordnen &amp AWT, Swing, JavaFX & SWT 19
C Borderlayout und Checkboxgruppen AWT, Swing, JavaFX & SWT 3
frau-u Borderlayout - zusätzliche Zeile AWT, Swing, JavaFX & SWT 4
W Probleme mit BorderLayout AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
Mausposition relativ zu JFrame bekommen AWT, Swing, JavaFX & SWT 6
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
N CPU Belastung bei offenem JFrame auf fast 100% AWT, Swing, JavaFX & SWT 15
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
E JFrame resizing AWT, Swing, JavaFX & SWT 2
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Swing Design des oberen Balkens in JFrame AWT, Swing, JavaFX & SWT 2
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben