Witschi262
Grünschnabel
Hallo,
ich habe ein Spaltenlayout mit JPanels entworfen. Nun möchte ich aber eine Zelle per Methode umfärben. Über einen Eingangsparameter kann die Koordinate der Zelle eingegeben werden.
Die Koordinate der Zelle ist bereits der Name des JPanels. Gibt es eine elegantere Lösung, als alle JPanels über eine for() Schleife und panel.getName() == koordinate abzuklappern?
Hier mein Quellcode:
ich habe ein Spaltenlayout mit JPanels entworfen. Nun möchte ich aber eine Zelle per Methode umfärben. Über einen Eingangsparameter kann die Koordinate der Zelle eingegeben werden.
Die Koordinate der Zelle ist bereits der Name des JPanels. Gibt es eine elegantere Lösung, als alle JPanels über eine for() Schleife und panel.getName() == koordinate abzuklappern?
Hier mein Quellcode:
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class SCHLANGENSPIEL extends JPanel
{
private int rows = 10;
private int width = 50;
private int height = 50;
private Dimension size = new Dimension(width, height);
protected Color select_color = Color.blue;
private JPanel selected_panel = null;
private Color normal_color = null;
private JFrame f;
private JPanel panel;
SCHLANGENSPIEL()
{
setLayout(new GridLayout(rows, rows, 1, 1));
setBackground(Color.black);
for(int i = 0; i < rows * rows; i++)
{
panel = new JPanel();
String name = String.format("%d, %d", i / rows, i % rows);
panel.setName(name);
add(panel);
System.out.println(name);
}
}
public void begin() {
f = new JFrame("Test");
f.setVisible(true);
f.setBounds(100, 100, 450, 300);
f.add(new SCHLANGENSPIEL());
}
public void highlight()
{
}
}