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:
Und hier ist die Hauptklasse, in welcher ich die erstellten Buttons einfüge.
Das Ergebnis ist immer gleich, es werden keine Buttons angezeigt. Ich hoffe auf Hilfe, da ich nicht mal eine Fehlermeldung als Ansatz bekomme
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