2011-01-13 9 views
0

Ich arbeite mit 100 JLabels in einem Rasterformat ausgerichtet. 10 x 10.Wie formuliert man mehrere JLabels, die alle dem gleichen Verfahren folgen?

Jedem JLabel ist eine Nummer zugeordnet. Abhängig vom Wert der Nummer wird der Hintergrund von JLabel festgelegt. Daher eine Intensitätskarte. Die Wertnummer befindet sich in derselben Klassendatei auf einer anderen Registerkarte (eine 10x10-Tabelle mit Zahlen).

Meine Sorge ist, dass es ewig dauern würde, so etwas zu tun:

Privat JLabel erste .... letzten 100. ein

erste = new JLabel ("") if (erste ein Wert ist Wert ist 5) {setBackground Farbe Rot} sonst wenn {blau} sonst wenn {grün}

Und so eins bis zum letzten 100..

+0

Warum nicht ein Array oder eine listenähnliche Struktur verwenden? Sie könnten ein 2D-Array oder eine Liste von Listen dynamisch erstellen und füllen. Sie müssten nur Schleifen schreiben, die die Eigenschaften für jedes der Elemente festlegen. – Rekin

Antwort

2

Sie wollen ein Array und eine Schleife verwenden, um sie zu initialisieren.

JLabel[][] labels = new JLabel[10][10]; 
for (int i = 0; i < 10; ++i) { 
    for (int j = 0; j < 10; ++j) { 
    labels[i][j] = new JLabel(""); 
    //Do whatever with it here 
    } 
}