Hi,
ich bin ziemlich neu in der Programmierung, und habe auch gleich ein Problem, das ich nicht lösen kann, die googlesuche erwies sich als schwierig.
Es geht um Objekte, die mit einer verschachtelten for Schleife auf einem panel erstellt worden sind und jetzt einzeln mit einem Mouse Listener angesprochen werden sollen, um Beispielsweise die Farbe zu ändern, etwa im Stil von memory.
Ich habe kein Ahnung wie/wo ich den Listener adden soll. Wer kann mir helfen?
Was würdet ihr anders machen?
Die Main:
Die paint-Klasse:
ich bin ziemlich neu in der Programmierung, und habe auch gleich ein Problem, das ich nicht lösen kann, die googlesuche erwies sich als schwierig.
Es geht um Objekte, die mit einer verschachtelten for Schleife auf einem panel erstellt worden sind und jetzt einzeln mit einem Mouse Listener angesprochen werden sollen, um Beispielsweise die Farbe zu ändern, etwa im Stil von memory.
Ich habe kein Ahnung wie/wo ich den Listener adden soll. Wer kann mir helfen?
Was würdet ihr anders machen?
Die Main:
Java:
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
JFrame f=new JFrame("Fenster");
ActionListener al=new ActionListener();
RechteckPanel rp=new RechteckPanel();
rp.addMouseListener(al); //???
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
f.setSize(800,600);
f.add(rp);
f.setVisible(true);
}
}
Java:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class RechteckPanel extends JPanel{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int reihen=8;
int spalten=8;
int d=60;
int abstandh=d+0;
int abstandv=d+0;
int rand=1;
for (int i=0; i<spalten;i++){
for (int j=0;j<reihen;j++){
g.setColor(new Color(0,0,0)); //RechteckRahmen schwarz
g.drawRect(i*abstandh, j*abstandv, d, d);
g.setColor(new Color(125,125,125)); //Rechteckfüllung grau
g.fillRect(i*abstandh+rand, j*abstandv+rand, d-rand, d-rand);
}
}
}
}
Zuletzt bearbeitet: