JApplet GUI click-bug? Hurtigt spørgsmål for de gode :).
Jeg kan ikke poste alt kode, så i får nogen snips://--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
public void init() {
//Execute a job on the event-dispatching thread:
//creating this applet's GUI.
try {
javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
receiveData();
}
});
} catch (Exception e) {
System.out.println(e);
}
}
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
receiveData() modtager data, og fylder arrFields (public array) - data er JPanel-"Fields", som bare holder X/Y-coordinat og Farve.
receiveData() kalder så createGUI()
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
public void createGUI() {
Container contentPane = getContentPane();
contentPane.removeAll();
JPanel grid = new JPanel();
grid.setLayout(new GridLayout(5, 5, 0, 0));
for (int i=0;i<arrFields.size();i++){
arrFields.get(i).addMouseListener(this);
grid.add(arrFields.get(i));
}
contentPane.add("Center", grid);
setVisible(true);
}
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
Så nu har vi et grid, som er 5x5, og fyldt op med fields ... Virker, og ser pænt ud!
Som i kan se, har alle fields fået en mouselistener på sig.
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
mousePressed-funtionen har følgende kode:
((Field) e.getSource()).pressed(selectedColor);
Som bare ændrer background-farven på det markede Field-object.