# Reflektion und die Liste abgeleiteter Klassen/Interfaces



## nocturne (23. Okt 2007)

Hiho,

gibt es eine Möglichkeit direkte ableitungen von Klassen/Interfaces zu finden?
Hier mein Code:

```
Class<? extends ButtonUI> c = new JButton("test").getUI().getClass();
Object[] signers = c.getDeclaredClasses();
if (signers != null)
	for (int i = 0; i < signers.length; i++)
		System.out.println("Isigners=" + signers);
```
Funktioniert wohl nicht.


----------



## tfa (23. Okt 2007)

getDeclaredClasses() liefert die in der Klasse deklarierten Typen zurück (also Inner Classes, Interfaces...).
Eine einfache Möglichkeit, die Kinder einer Klasse zu bestimmen, gibt es nicht.


----------



## nocturne (23. Okt 2007)

tfa hat gesagt.:
			
		

> getDeclaredClasses() liefert die in der Klasse deklarierten Typen zurück (also Inner Classes, Interfaces...).
> Eine einfache Möglichkeit, die Kinder einer Klasse zu bestimmen, gibt es nicht.


OK, den code kann ich also wegwerfen!
Gibt es sonst eine möglichkeit?


----------



## tfa (23. Okt 2007)

nocturne hat gesagt.:
			
		

> Gibt es sonst eine möglichkeit?


Nicht so einfach. In die JVM können zur Laufzeit ja noch beliebig viele Klassen (auch durch andere Classloader) hinzugeladen werden. Du musst die Klassen schon kennen, die Du überprüfen willst. 
Was genau möchtest Du denn erreichen?


----------



## nocturne (23. Okt 2007)

tfa hat gesagt.:
			
		

> nocturne hat gesagt.:
> 
> 
> 
> ...



Es geht um Swing.

Ich habe den ButtonUI (Oder JButtonUI) und ich möchte alle darstellungen in ein Fenster schreiben.
Diese UIs haben ja etliche ableitungen.
Die UI kann man ja auch supereinfach austauschen.


----------



## tfa (23. Okt 2007)

Vielleicht nützt Dir das:

UIManager.getInstalledLookAndFeels()


----------



## nocturne (23. Okt 2007)

Will ja auch die nichtgebundenen direktverlinkten UIs.


----------

