# Button identifizieren unter MouseEvent



## Barnaby (15. Okt 2009)

Hi, 

bin ein Java Neuling und stehe vor einem kleinen Problem.
Ich versuche grade ein Mouseover hinzubekommen. Mein Problem liegt jetzt darin, dass ich verschiedene JButtons habe und denjenigen identifizieren muss, der grade "berührt" wird, da für jeden Button ein anderes Ereignis stattfinden soll.

Hab schon mit ein paar Funktionen die ich in der API zu MouseEvent gefunden hab (getID(), toString(), ...) rumprobiert, allerdings ohne Ergebnis.

Ich suche quasi ein .getActionCommand() für MouseEvent.

Hab auch schon überlegt die Buttons über ihre Koordinaten zu identifizieren, aber das wär furchtbar hässlich.

Hat jemand einen Vorschlag?

Mit freundlichen Grüßen Barnaby


----------



## Michael... (15. Okt 2009)

Barnaby hat gesagt.:


> Hat jemand einen Vorschlag?


mit evt.getSource() überprüfen


----------



## Barnaby (15. Okt 2009)

Vielen Dank für die schnelle Antwort.

.getSource() bringt mich schon ein bisschen weiter. 
Mit System.out.println(evt.getSource()) kommt...


```
javax.swing.JButton[,30,220,140x20,alignmentX=0.0,alignmentY=0.5,border=javax.swin
g.plaf.BorderUIResource$CompoundBorderUIResource@1b383e9,flags=296,maximumSize
=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margi
n=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=tru
e,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon
=,selectedIcon=,text=Konto eröffnen,defaultCapable=true]
```

davon interessieren tut mich nur _text=Konto eröffnen_. Das is das was auf dem Button steht. Gibt es irgendne Möglichkeit das da rauszubekommen, sodass ich mit nem String der _Konto eröffnen_ enthält weiterarbeiten kann?


----------



## SlaterB (15. Okt 2009)

JButton b = (JButton) evt.getSource() // nur wenn du dir sicher bist, dass darunter ein JButton ist, sonst vielleicht mit instanceof testen 
b.getActionCommand()


----------



## Barnaby (15. Okt 2009)

also ich bin  mir sicher das darunter ein JButton ist.

_.getActionCommand()_ kann ich nicht benutzen, da:  _method getActionCommand() is undefined for the type MouseEvent_


```
public void mouseEntered(MouseEvent e) 
	{
		System.out.println("Mouse entered Button");
	        ButtonName = e.???????();

                ...
		
		InfoBox.setVisible(true);   //<-- Infobox des jeweiligen Buttons wird visible
	}
```


----------



## Michael... (15. Okt 2009)

SlaterB meinte das Object welches e.getSource() liefert in ein JButton zu casten:
[JAVA=4]ButtonName = ((JButton) e.getSource()).getActionCommand();[/code]


----------



## Barnaby (15. Okt 2009)

achso. 
Funktioniert wunderbar.

Vielen Dank SlaterB und Michael...


----------



## Gast2 (15. Okt 2009)

Willst du einen ToolTip anzeigen??

Variablen schreibt man außerdem klein...


----------

