MouseEvent,JKomponente aus Array: Wie bekommt man den Index

Status
Nicht offen für weitere Antworten.

sliwalker

Top Contributor
Hi,

ich komme momentan nicht weiter.
Ich schreibe an einem Memory-Spiel und habe mein JFrame schon erstellt
und Testweise 4 x 4 JLabels eingefügt, die die Spielkarten darstellen sollen und
aus einem Array des Typs JLabel kommen.
In den MouseListener hab ich mich nur reingelesen, deshalb bin ich da nicht so fit.

Es funktioniert mittlerweile das man 2 Karten öffenen kann und bei der dritten
alle Karten wieder verdeckt werden.
Aber wie komme ich an den Index der Komponente, die den MouseEvent ausgelöst hat?
Solche Sachen wie getSource helfen mir da doch nicht weiter ,oder?

Der MouseListener:
Code:
	public void mouseClicked(MouseEvent e)
	{
		JLabel label = (JLabel) e.getSource();
		int counter  = e.getClickCount();  //  prüfen ob geklickt wurde
		if (counter % 2 != 0 && counter2 >= 0 && counter2 < 2)
		{
			label.setIcon(new ImageIcon(dateiauf[0]));// hier muss anstatt der 0 der Index hin
			counter2++;
		}
		else
		{
			for (int i= 0; i < 16; i++) // dateizu hat 16x "zu.jpg"
			{
				cards[i].setIcon(new ImageIcon(dateizu[i]));
				counter2 = 0;
			}
		}

	}
Falls sich das mal jemand angucken könnte ;)
Fänd ich das super :)
greetz
SLi
 
B

Beni

Gast
In dem Array cards speicherst du die JLabels?

Dann durchuche ihn doch einfach:

Code:
public void mousePressed( .. ){
  JLabel label = ... getSource()...
  int index = indexOf( cards, label );
}

public int indexOf( Object[] labels, Object search){
  for( int i = 0, n = labels.length; i<n; i++ )
    if( labels[i] == search )
      return i;

  return -1;
}

mfg Beni
 

sliwalker

Top Contributor
Danke Beni.

Deine Version hat nicht ganz geklappt, aber den Sinn hab ich verstanden;)
Ich hab es jetzt so gemacht:

Code:
public void mouseClicked(MouseEvent e)
	{
		JLabel label= (JLabel) e.getSource();
		int index= indexOf(cards, label);
		int counter= e.getClickCount();
		if (counter % 2 != 0 && counter2 >= 0 && counter2 < 2)
		{
			label.setIcon(new ImageIcon(dateiauf[index]));
			counter2++;
			kartenmerk[index]++;
		}
		else
		{
			for (int i= 0; i < 16; i++)
			{
				cards[i].setIcon(new ImageIcon(dateizu[i]));
				kartenmerk[i]= 0;
				counter2= 0;
			}
		}
		pruefepaerchen();
	}

Code:
public int indexOf(JLabel[] cards, JLabel search)
	{
		int index;
		for (int i= 0; i < 16; i++)
		{
			if (cards[i] == search)
				return i;
		}
		return -1;
	}

cards sind von Typ JLabel, wie auch search. Als ich das hingeschrieben hatte ging es.
Hätte ich auch zu Anfang das Array für die LAbels von Typ Object deklarieren können?

greetz
SLi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
MouseEvent richtig initialisieren AWT, Swing, JavaFX & SWT 1
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
C MouseEvent JavaFX AWT, Swing, JavaFX & SWT 4
L MouseEvent-Konflikt AWT, Swing, JavaFX & SWT 1
S JavaFX Unterschied MouseEvent und ActionEvent AWT, Swing, JavaFX & SWT 3
A Mouseevent Vorrang AWT, Swing, JavaFX & SWT 10
X Swing MouseEvent auslösen AWT, Swing, JavaFX & SWT 3
C MouseEvent AWT, Swing, JavaFX & SWT 8
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
T JLabel adden bei einem MouseEvent AWT, Swing, JavaFX & SWT 2
F AWT MouseEvent - consume() funktioniert nicht AWT, Swing, JavaFX & SWT 6
S JButton + MouseEvent AWT, Swing, JavaFX & SWT 2
J Swing JButton und MouseEvent AWT, Swing, JavaFX & SWT 2
C Swing Problem mit MouseEvent in JTable AWT, Swing, JavaFX & SWT 5
L "Fremdes" JPanel von MouseEvent aus Ändern AWT, Swing, JavaFX & SWT 2
F MouseEvent bei PopupMenu abfangen AWT, Swing, JavaFX & SWT 2
B Button identifizieren unter MouseEvent AWT, Swing, JavaFX & SWT 7
I AWT paint() in MouseEvent aufrufen klappt nicht AWT, Swing, JavaFX & SWT 8
B mouseReleased(MouseEvent m) überflüssig? AWT, Swing, JavaFX & SWT 2
E MouseEvent von Kindelementen abfangen AWT, Swing, JavaFX & SWT 2
S Zugriff auf statische Var in MouseEvent -> Warnung AWT, Swing, JavaFX & SWT 6
A Problem mit Jframe und mouseevent AWT, Swing, JavaFX & SWT 10
B kein MouseEvent bei zu schneller Bewegung der Maus AWT, Swing, JavaFX & SWT 7
R JButton in JList - MouseEvent-Problem AWT, Swing, JavaFX & SWT 12
A MouseEvent auf Container bzw. Frame weiterleiten AWT, Swing, JavaFX & SWT 5
M mouseEvent an darunterliegende Komponenten weiterleiten AWT, Swing, JavaFX & SWT 2
M MouseEvent JButton Taschenrechner AWT, Swing, JavaFX & SWT 5
X MouseEvent selber auslösen AWT, Swing, JavaFX & SWT 12
H mouseEvent AWT, Swing, JavaFX & SWT 6
G jList + mouseevent (rechtsklick) AWT, Swing, JavaFX & SWT 1
G MouseEvent beenden AWT, Swing, JavaFX & SWT 17
G MouseEvent Problem mit JFrame über einen modalen JDialog AWT, Swing, JavaFX & SWT 3
G JTree MouseEvent AWT, Swing, JavaFX & SWT 6
M MouseEvent in der EventQueue vor versetzen AWT, Swing, JavaFX & SWT 4
H MouseEvent bei Drag & Drop (mittels TransferHandler) AWT, Swing, JavaFX & SWT 3
izoards JavaFX TableView mit Array Inhalt füllen AWT, Swing, JavaFX & SWT 1
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
L Swing Wert vom Textfield in Array List hinzufügen AWT, Swing, JavaFX & SWT 2
A 2d array AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
M Swing Objekt Array in GUI ausgeben AWT, Swing, JavaFX & SWT 1
N Array mit JavaFX Elementen AWT, Swing, JavaFX & SWT 9
H Aus Array Container Panel an Tabbedpane zuweisen AWT, Swing, JavaFX & SWT 29
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
J index im Array aussuchen AWT, Swing, JavaFX & SWT 1
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
A Swing Wie Daten in der Form speichern? Array oder ArrayList AWT, Swing, JavaFX & SWT 2
F JList auffüllen aus Array von Instanzen AWT, Swing, JavaFX & SWT 4
kilopack15 JLabels im Array erzeugen AWT, Swing, JavaFX & SWT 2
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
M JavaFX - Array in View auslesen AWT, Swing, JavaFX & SWT 12
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
E AWT Bilder als "Array" abspeichern. AWT, Swing, JavaFX & SWT 4
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
beatles Swing JTextField - Game Status aus Array anzeigen AWT, Swing, JavaFX & SWT 3
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
Viktim Array Spielfeld wird in GUI gedreht AWT, Swing, JavaFX & SWT 5
T JTextField Array im JPanel wird nicht komplett angezeigt AWT, Swing, JavaFX & SWT 7
S AWT JTextFields durch Array im JMenu erzeugen? AWT, Swing, JavaFX & SWT 19
L JComponents in Array AWT, Swing, JavaFX & SWT 11
L Array mit JButton, wie rausfinden auf welche JButton geklickt wurde + index des JButtons ausgeben AWT, Swing, JavaFX & SWT 4
B Array Java AWT, Swing, JavaFX & SWT 0
S JTable Daten aus Array AWT, Swing, JavaFX & SWT 9
K Array von einer Action zur anderen bringen AWT, Swing, JavaFX & SWT 7
D Swing ArrayList in Jlist/ List oder Array in JList/List AWT, Swing, JavaFX & SWT 5
O 2D Weltgenerieren - 2D Array AWT, Swing, JavaFX & SWT 1
W Bei Button-klick neuen button in array hinzufügen AWT, Swing, JavaFX & SWT 7
H Image im Array per Knopfdruck ändern AWT, Swing, JavaFX & SWT 6
A JComboBox mit Array aktualisieren AWT, Swing, JavaFX & SWT 7
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
L 2D-Grafik PNG Datei in JLabel Array Problem AWT, Swing, JavaFX & SWT 4
R Array aus einem Objekt auslesen AWT, Swing, JavaFX & SWT 4
S ComboBox-Werte aus einem Array an Textfields übergeben AWT, Swing, JavaFX & SWT 3
A Array von JLabel mit Grafiken anzeigen AWT, Swing, JavaFX & SWT 3
J 2D-Grafik String aus array wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S Swing Jcombobox und array AWT, Swing, JavaFX & SWT 6
M Swing Array aus anderer Klasse AWT, Swing, JavaFX & SWT 6
M Array grafisch darstellen AWT, Swing, JavaFX & SWT 9
P 2D-Grafik versch. Rectangles aus array von textfelder zeichen AWT, Swing, JavaFX & SWT 6
V Swing Componenten Array AWT, Swing, JavaFX & SWT 3
P Grauwerte aus 3-Dimensionalem Array in Bild AWT, Swing, JavaFX & SWT 9
F Bilder werden nicht in's Array geladen AWT, Swing, JavaFX & SWT 4
B Swing JMenuButtons mit Funktionen aus Array erstellen AWT, Swing, JavaFX & SWT 4
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
A JButton in einem Array aktualisieren AWT, Swing, JavaFX & SWT 8
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
S String Array Ausgabe im JLabel ??? AWT, Swing, JavaFX & SWT 8
L Fehler beim erstellen einer Tabelle mithilfe von 2d-Array AWT, Swing, JavaFX & SWT 3
H 2D-Grafik BufferedImage aus Integer-Array AWT, Swing, JavaFX & SWT 3
H Puzzle - Listen erstellen, array & liste vergleichen AWT, Swing, JavaFX & SWT 28
H Puzzle - Erkennen wenn gelöst (array vergleichen) AWT, Swing, JavaFX & SWT 10
H Bilder in Array zufällig anordnen AWT, Swing, JavaFX & SWT 4
W Swing Bei einem 2-dimensionalen array, bei mouseClicked index zuordnen AWT, Swing, JavaFX & SWT 2
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
N Swing Von 2 dimensionalem Array auf JTextfield schließen und färben AWT, Swing, JavaFX & SWT 6
H JList zeigt die Daten aus dem Array nicht an! AWT, Swing, JavaFX & SWT 13
M Swing Zweidimensionales Array mit Farben erzeugen AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben