Hallo,
Ich bin wieder mal munter am Programmieren, eigentlich sind es nur noch ein paar Kleinigkeiten bis zu Abgabe..... Und ausgerechnet jetzt, einen Tag vor der Abgabe haut es mich noch mal raus :autsch:
Das Problem ist folgendes: Ich habe eine Methode, welche einen JFrame mit lauter kleinen JPanells füllt:
Ok, wenn ich beim ersten Mal die Methode aufrufe - gibt es KEINERLEI Probleme.
Erst wenn ich das erwähnte Array ändere und daraufhin den Rahmen einfach neu füllen will - erscheint bei mir auf einmal nur ein einzelnes JPanel auf dem JFrame. Dieses ist dann auch in der richtigen Farbe abgebildet, selbst wenn ich den Wert des Arrays (je nach Lust und Laune) neu anpasse.
Ich habe wirklich alles probiert, meine Variablen und Objekte sind nicht statisch, sie sind der Methode zugänglich, es wird kein Fehler ausgegeben, es ist einfach nur zum Heulen und ich bekomme echt langsam Panik, weil es wirklich knapp wird und ich morgen abgeben muss. Mit etwas Flehen bekomme ich vielleicht noch den Nachmittag Zeit, aber wenn ich es nicht hinbekomme ist wirklich mal Sense....;(
Hat irgendjemand irgendeinen Tipp /eine Vermutung, und sei sie noch so weit hergeholt?
Ich bin wieder mal munter am Programmieren, eigentlich sind es nur noch ein paar Kleinigkeiten bis zu Abgabe..... Und ausgerechnet jetzt, einen Tag vor der Abgabe haut es mich noch mal raus :autsch:
Das Problem ist folgendes: Ich habe eine Methode, welche einen JFrame mit lauter kleinen JPanells füllt:
Java:
JFrame myFrame = new JFrame("Das ist mein Rahmen");
.... // derRahmen wird auch ordentlich eingerichtet inkl. Größes usw., alles funktioniert prima
public void frameFuellen(){
myFrame.getContentPane().removeAll(); // die Methode wird später noch einmal aufgerufen
myFrame.getContentPane().repaint(); // deswegen lösche ich alles im Rahmen
grid= new GridLayout();
grid.setRows(20);
grid.setColumns(20);
cont = myFrame.getContentPane(); // ja, ist doppelt, aber im Moment versuche ich einfach alles
cont.setLayout(grid);
cont.setSize(01356, 01356); // die Größe stimmt auch
cont.setVisible(true);
for (int d= 0; d<20; d++){
for (int w=0; w<20; w++){
// hier kommt eigentlich ein Vergleich mit einem Array, welches zur Verfügung steht
JPanel p= new JPanel();
p.setSize(50, 50);
p.setBackground(Color.yellow);
// die Hintergrundfarbe wird je nach Wert des Arrays an Stelle w, d angepasst
cont.add(p);
}
}
}
Ok, wenn ich beim ersten Mal die Methode aufrufe - gibt es KEINERLEI Probleme.
Erst wenn ich das erwähnte Array ändere und daraufhin den Rahmen einfach neu füllen will - erscheint bei mir auf einmal nur ein einzelnes JPanel auf dem JFrame. Dieses ist dann auch in der richtigen Farbe abgebildet, selbst wenn ich den Wert des Arrays (je nach Lust und Laune) neu anpasse.
Ich habe wirklich alles probiert, meine Variablen und Objekte sind nicht statisch, sie sind der Methode zugänglich, es wird kein Fehler ausgegeben, es ist einfach nur zum Heulen und ich bekomme echt langsam Panik, weil es wirklich knapp wird und ich morgen abgeben muss. Mit etwas Flehen bekomme ich vielleicht noch den Nachmittag Zeit, aber wenn ich es nicht hinbekomme ist wirklich mal Sense....;(
Hat irgendjemand irgendeinen Tipp /eine Vermutung, und sei sie noch so weit hergeholt?
Zuletzt bearbeitet: