Swing JButton wird nicht angezeigt

Castyll

Aktives Mitglied
Hallo,
Ich habe die Aufgabe ein Chomp Spiel zu programmieren. Die Spielfelder ist hier eine Reihe hinzugefügter Buttons, wo bei jedem Klick ein Actionevent ausgelöst wird. Die Buttons werden jedoch nach dem Start nicht angezeigt, obwohl ich sie ordnungsgemäß erstellt habe.
Hier ist erstmal der Code zu einer Ableitung der JPanel Klasse, in welcher ich die Buttons mit einer for-schleife einfüge und deklariere:
Java:
 public SpielfeldPanel(int M, int N)
    {
    this.setLayout(new GridLayout(M,N));
    this.m=M;
    this.n=N;
    buttons = new SpielfeldButton[M][N];
   
    //buttons deklarieren????   
    for(int i=0; i<M;i++)
    {
        for(int j=0; j<N;j++)
        {
            buttons[i][j]= new SpielfeldButton(i,j,50);
           
            if(buttons[i][j]==buttons[0][0])
            {
                buttons[0][0].setBackground(Color.WHITE);
                buttons[0][0].setEnabled(false);
                buttons[0][0].setSize(50,50);
                this.add(buttons[i][j]);
                buttons[0][0].setVisible(true);
               
               
            }
            else
            {
                buttons[i][j].setSize(50,50);
                buttons[i][j].setBackground(bgColor);
                buttons[i][j].setEnabled(true);
                this.add(buttons[i][j]);
                buttons[i][j].setVisible(true);
            }
        }
    }
   
   
   

    count = M*N - 1;  // initiale Anzahl "freier" Felder
    }

Und hier ist die Hauptklasse, in welcher ich die erstellten Buttons einfüge.
Java:
 public Chomp(int rows, int cols)
    {
    this.M = rows;
    this.N = cols;
    ChompButtonListener buttonListener = new ChompButtonListener();
    init();
    spielfeld.addListener(buttonListener);
    }
   
    private void init()
    {
    JFrame fenster = new JFrame();
    fenster.setTitle("Chomp");
    fenster.setSize(600,400);
   
    this.setResizable(false);
    this.spielfeld = new SpielfeldPanel(5, 5);
    fenster.add(spielfeld);
    this.spielfeld.setVisible(true);
    fenster.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    }

Das Ergebnis ist immer gleich, es werden keine Buttons angezeigt. Ich hoffe auf Hilfe, da ich nicht mal eine Fehlermeldung als Ansatz bekomme
 
Eine Möglichkeit wäre, dass SpielFeldPanel keine Größe hat.
Versuch mal, dem Fenster ein Borderlayout zu geben und SpielFeldPanel im CENTER einzufügen, damit es auch gedehnt wird.
 

Neue Themen


Zurück
Oben