Wie kann ich ein erstelltes JPanel meinem Frame hinzufügen?

yachty66

Mitglied
Wie kann ich ein erstelltes JPanel meinem Frame hinzufügen? Sämtliche Versuche sind so ausgegangen, dass das JPanel nicht angezeigt wird. Ich habe dabei eine Klasse die von JFrame erbt. Hier der Code für das JPanel:

Java:
public class MainFrame extends JFrame {
    //1. Initialisieren des Panels und Übergabe, des zu verwendenden LayoutManagers
    JPanel p = new JPanel(new GridBagLayout());
    //2. Initialisieren der GridBagConstraints
    GridBagConstraints gbc = new GridBagConstraints();

    public void GridBagLayoutM() {
        //3. Initialisieren der Komponenten
        JButton northButton = new JButton("Norden");
        JButton westButton = new JButton("Westen");
        JButton centerButton = new JButton("Zentrum");
        JButton southButton = new JButton("Süden");
        JButton eastButton = new JButton("Osten");

        //4. benötigte GridBagConstraints-Attribute konfigurieren
        gbc.gridx = 1; //Spalte 1 (Zählung beginnt bei 0)
        gbc.gridy = 0; //Zeile 0

        //5. Komponente ins Layout setzen
        p.add(northButton, gbc);

        //wie 4. -> Attribute können wieder verwendet werden
        gbc.gridx = 0;
        gbc.gridy = 1;

        //wie 5.
        p.add(westButton, gbc);

        //wie 4. -> Attribute können wieder verwendet werden
        gbc.gridx = 1;
        gbc.gridy = 1;

        //wie 5.
        p.add(centerButton, gbc);

        //wie 4. -> Attribute können wieder verwendet werden
        gbc.gridx = 2;
        gbc.gridy = 1;

        //wie 5.
        p.add(eastButton, gbc);

        //wie 4. -> Attribute können wieder verwendet werden
        gbc.gridx = 1;
        gbc.gridy = 2;

        //wie 5.
        p.add(southButton, gbc);
    }

Hier der Code für das JFrame (da steht jetzt nix drin, was das JPanel irgendwie aufrufen könnte, wie gesagt, habe schon viel versucht und nix hat gefunzt. Will das der Code somit übersichtlich ist.):

Java:
public MainFrame() {
        super("Test");
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        init();
        pack();
        setVisible(true);
    }
 
Leider zeigst Du nicht den kompletten Code, hier fehlt mir jedenfalls noch ein add(p), mit dem das JPanel p zum aktuellen MainFrage hinzugefügt wird. NB: benenne das Panel ordentlich und Methoden schreibt man in lowerCamelCase.
 

Zurück
Oben