В настоящее время я использую отражение, чтобы получить объявленные поля класса GUI. Однако я не могу найти способ вписать поля в объект, который мне нужен.
Мне нужно получить фактический объект поля, поэтому, если, например, возвращаемое поле имеет тип JLabel, мне нужно иметь возможность типизировать поле в JLabel, чтобы иметь доступ к объекту
Ниже приведен код, который я использую, однако фактический компонент объекта не извлекается:
for (int i = 0; i< fields.length; i++) {
this.fields.add(fields[i]);
Class<?> fieldType = fields[i].getType();
try {
Component c = (Component) fieldType.newInstance();
System.out.println(c.getX + " " + c.getY());
} catch (InstantiationException ex) {
Logger.getLogger(HeatMap.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(HeatMap.class.getName()).log(Level.SEVERE, null, ex);
}
}