Boa tarde a todos, espero que consigam me ajudar.
Estou tentando fazer um classe para auxiliar na aquisição e exibição dos dados de um JFrame, qual o problema, não consigo por exemplo fazer a chamada de um método de um atributo do JFrame por exemplo: não consigo fazer a chamada do setText de um JTextField
Esse seria o código do exemplo para um JTextField:
public void showObject(Object gui, Object obj) {
Method methObj, methGui;
String name;
for (Field fieldGui : gui.getClass().getDeclaredFields()) {
for (Field fieldObj : obj.getClass().getDeclaredFields()) {
if (!fieldObj.getName().equalsIgnoreCase("serialVersionUID")) {
try {
name = fieldObj.getName();
name = name.substring(0, 1).toUpperCase() + name.substring(1, name.length());
methObj = obj.getClass().getMethod("get" + name);
Object retobj = methObj.invoke(obj);
if (retobj != null) {
if (fieldGui.getName().contains(obj.getClass().getSimpleName() + "_" + fieldObj.getName())){
if (fieldGui.getType().equals(JTextField.class)) {
methGui = fieldGui.getType().getMethod("setText", String.class);
methGui.invoke(fieldGui, retobj);
}
}
}
} catch (Throwable e) {
System.err.println(e);
}
}
}
}
}
Esse é o erro que da:
[color=red]java.lang.IllegalArgumentException: object is not an instance of declaring class[/color]
Para mim o fieldGui era uma instância do JTextField.
Muito Obrigado pela atenção