Ich bin ganz verwirrt. Ich habe das eigentl. schon mehrmals gemacht und jetzt klappt es plötzlich nicht mehr. Ich möchte meiner Anwendung mehrere Steuerelemente zuweisen, die komplett selber arbeiten und auf die ich nie wieder ein Handle brauche, es sei denn, die Klasse gibt es von selbst zurück (ausnahmefall). Deshalb hab ich in meinem Frame-Konstruktor folgende Schleife gebaut:
Und der fügt mir jetzt einfach nur noch das letzte Panel ein. Achja, die Klasse "JFeldPanel" ist von JPanel abgeleitet und positioniert einfach das Panel und setzt die Hintergrundfarbe (bisher, soll später noch mehr Funktionen übernehmen).
Ich habe aber in einem anderen Zusammenhang ähnliches gemacht und da sieht die Schleife so aus:
Und da funktioniert das alles super... Wo liegt mein Fehler?! Kann mir jmd. helfen?!
MfG, Schuri
Code:
int color = 0;
for (int i=0; i < 8; i++) {
for (int j=0; j < 8; j++) {
contentPane.add(new JFeldPanel(20 + j*20, 10 + i*20, (color == 0) ?
Color.white : Color.black));
color = 1 - color;
}
}
Und der fügt mir jetzt einfach nur noch das letzte Panel ein. Achja, die Klasse "JFeldPanel" ist von JPanel abgeleitet und positioniert einfach das Panel und setzt die Hintergrundfarbe (bisher, soll später noch mehr Funktionen übernehmen).
Ich habe aber in einem anderen Zusammenhang ähnliches gemacht und da sieht die Schleife so aus:
Code:
// Komponenten hinzufügen
JComponent component = new JPanel(); // Standardinitialisierung
getContentPane().setLayout(null); // Da Element absolut positioniert werden
for (int i=0; i < GetComponentsCount(); i++) {
// Elementtyp erzeugen
switch (elements[i].GetType()) {
case 0: // Button
component = new JButton(elements[i].GetTitle());
break;
}
// Größe und Position des Elements übernehmen
component.setBounds(elements[i].GetBoundingRect());
// Element der ContentPane hinzufügen
getContentPane().add(component);
}
Und da funktioniert das alles super... Wo liegt mein Fehler?! Kann mir jmd. helfen?!
MfG, Schuri