# wofür ist "setName()"?



## fieserJanosch (16. Oktober 2008)

Hallo,

wer kann mir sagen wofür die Methode setName() ist?


```
Button b = new Button();
		b.setName("knopp B");
```

Ok jetzt hat mein Button einen Namen, aber wofür braucht man das?


----------



## Thomas Darimont (16. Oktober 2008)

Hallo,

Komponenten kann man Namen geben um diese darüber wiederfinden zu können.
Das wird beispielsweise von ScreenReadern oder UI-Test Tools verwendet.

Mehr dazu gibts hier:
http://java.sun.com/javase/technologies/accessibility/index.jsp

Gruß Tom


----------



## fieserJanosch (16. Oktober 2008)

Ja,

das ich es für UI Tests nutzen kann wusste ich schon, sehr angenehm bei Jemmy auf nen NameComponentChooser zurückgreifen zu können. Nur leider muss ja dafür erst mal n Name da sein.

*Habe gehofft der Name hat auch noch weitere sinnvolle Aufgaben.*


----------



## benhaze (20. Oktober 2008)

in NetBeans (bzw. Matisse-GUI-Builder) gibt es eine Option:
setComponentNames

Damit bekommen alle Components (auf dem aktuellen Panel!) automatisch einen Namen.
Dabei gilt: VariablenName = ComponentName

Warum diese Option allerdings DEFAULTMÄßIG deaktiviert ist....keine Ahnung....?


----------



## fieserJanosch (20. Oktober 2008)

Das ist ja n netter Tip, werd es mal austesten. 

Schreibe zwar Tests für Swing GUIs in Eclipse (shortcut fetisch^^)
aber vllt. kann man da was drehen. 
Obwohl ich mit JLabel.setLabelFor(Component) auch ganz gut fahre. Damit komm ich über das Label an die gebundene Component, ergo Test schreiben wie man die GUI der TestApp sieht  fine

Wenn noch jemand wüsste weshalb setName() überhaupt mal eingeführt wurde wär das noch n leckeres Detail für meine anstehende Dipl. Arbeit...


----------

