# Index eines Arrays ermitteln und als Integer ausgeben



## Man-e-Faces (23. Mrz 2005)

Hallo!
Ich habe ein paar Buttons in einem Feld angelegt und  möchte, je nachdem welcher Button gedrückt wurde,
einen neuen Container mit weiteren Buttons öffnen (dessen Position sich nach dem gedrücktenButton richtet).
Irgendwie muss keyPressed diesen Index ermitteln und als Integer an meine Funktion sub weitergeben...

```
public void keyPressed (java.awt.event.KeyEvent KeyEvent) {
   
int key = KeyEvent.getKeyCode();

for(int i=0;i<MenuButtons.length;i++){
if (KeyEvent.getSource() == MenuButtons[i] && key == HRcEvent.VK_ENTER){
    
//bestimme den Index des gedrückten Buttons und gebe ihn an sub weiter:
???

sub();
}


public void sub(){

//benutze diesen ermittelten Index für die Position des Containers:
x= ??? * 50



   for (int i=0; i<subButtons.length; i++) {
   
   subButtons[i]= new HTextButton(label, buttonWidthX, x, buttonWidthX, buttonHeightY, schrift, Color.white,      GruenHalb, tlm);
}
}
```
Kann mir da jemand auf die Sprünge helfen?

Vielen Dank im voraus,

Alex.


----------



## Bert Brenner (23. Mrz 2005)

Direkt dann wenn die Bedinungen deines if Statements in deiner Schleife in keyPressed zutreffen ist i der Index deines Buttons im Array.


----------



## dotlens (23. Mrz 2005)

variablens schreibt man klein (KeyEvent)
ich würde mit keyEvent.getActionCommand() arbeiten und nicht die source vergleichen. (ActionCommands zuerst mit setActionCommand("deinActionCommand") setzen)
Als Action Command kannst du gleich den Index nehmen und ihn dann beim auslesen in eine integer umwandeln


----------



## Man-e-Faces (23. Mrz 2005)

Alles klar. Aber was mir größere Probleme macht ist die Übergabe des Indexes an die Unterfunktion..
Dann müsste keyPressed ja statisch sein (bei z.B. return index oder sowas). Dann wiederum müsste ich doch aber auch alle meine Elemente in statics umwandeln..


----------



## Wildcard (23. Mrz 2005)

Man-e-Faces hat gesagt.:
			
		

> Alles klar. Aber was mir größere Probleme macht ist die Übergabe des Indexes an die Unterfunktion..
> Dann müsste keyPressed ja statisch sein (bei z.B. return index oder sowas). Dann wiederum müsste ich doch aber auch alle meine Elemente in statics umwandeln..


Bitte was? Warum statisch? Übergib das Ding doch einfach  ???:L


----------



## Man-e-Faces (23. Mrz 2005)

Ich denke zu kompliziert..Wie geht es denn "EINFACH"?
Ich will doch nur einen Integer (int index = i oder so ähnlich)
in sub() benutzen können..
AAARGH!


----------



## Wildcard (23. Mrz 2005)

```
sub(i);
public void sub(int i)
```


----------



## Man-e-Faces (23. Mrz 2005)

Oh Mann...Danke ;-)


----------

