diff --git a/src/zutil/ui/Configurator.java b/src/zutil/ui/Configurator.java index 02431d3..9143e2f 100755 --- a/src/zutil/ui/Configurator.java +++ b/src/zutil/ui/Configurator.java @@ -94,14 +94,15 @@ public class Configurator { protected static ConfigurationParam[] getConfiguration(Class c, Object obj){ ArrayList conf = new ArrayList(); - Field[] all = c.getDeclaredFields(); - for(Field f : all){ - if(f.isAnnotationPresent(Configurable.class) && - !Modifier.isStatic(f.getModifiers()) && !Modifier.isTransient(f.getModifiers())) { - try { - conf.add(new ConfigurationParam(f, obj)); - } catch (IllegalAccessException e) { - logger.log(Level.SEVERE, null, e); + for(Class cc = c; cc != Object.class ;cc = cc.getSuperclass()) { // iterate through all super classes + for (Field f : cc.getDeclaredFields()) { + if (f.isAnnotationPresent(Configurable.class) && + !Modifier.isStatic(f.getModifiers()) && !Modifier.isTransient(f.getModifiers())) { + try { + conf.add(new ConfigurationParam(f, obj)); + } catch (IllegalAccessException e) { + logger.log(Level.SEVERE, null, e); + } } } }