JLabel Objekt in Array speichern

smoooochy

Grünschnabel
So erstmal hallo. Ich bin neu hier und ein ziemlicher Java Laie ;) Ich bin derzeit dabei 4-gewinnt zu programmieren komme nicht weiter.

Ich habe folgendes Problem: Ich möchte JLabel Objekte in ein Array schreiben. Dazu habe ich eine Klasse erstellt (siehe unten)
Nun möchte ich das aufrufen, aber da wirft er mir immer einen Fehler.

Code:
Spielfeld.add(get_labelobj(0, 0));


Code:
public class labelarray{
		
		JLabel[][] labelarray = new JLabel[2][8];
		
		public labelarray(){
	    labelarray[0][0] = new JLabel(new ImageIcon(getClass().getResource("rot.gif")));
	    labelarray[0][1] = new JLabel(new ImageIcon(getClass().getResource("gelb.gif")));

	   }
		JLabel get_labelobj(int x, int y){
			return labelarray[x][y];
	   }
	}
 
Hallo,

1. und wie lautet die Fehlermeldung?
2. Sind die beiden Code-Schnippsel in unterschiedlichen Klassen?
 
1:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method get_label(int, int) is undefined for the type gui

at viergewinnt.gui.<init>(gui.java:113)
at viergewinnt.gui.main(gui.java:159)


2:

ja in zwei unterschiedlichen Klassen
 
Na dann wundert es mich nicht.
Du willst zwar get_label aufrufen, aber Java denkt natürlich, dass diese Methode in der gleichen Klasse zu finden sei. Du muss schon ein Objekt von der Klasse erstellen, in dem die ganzen Arrays sind und dass auf dieses Objekt anwenden.
Bsp.:
Java:
labelarray objLabelArray = new labelarray();
...
Spielfeld.add(objLabelArray.get_labelobj(0, 0));

Mal nebenbei:
- Klassen schreibt man groß
- Bei mehreren Wörtern in Namen wird nicht wort_wort geschrieben, sondern wortWort. Einen "_" nimmt man, bei Konstanten: KONSTANTE_WORT_WORT
Ist nicht zwingend notwendig, aber halt die offizielle Namenskonvention ;)
 
Zurück