Eu acho que eu ando ficando meio lerdo, mas eu não estou conseguindo entender por que este código não funciona:
public class MySwingUtil<T extends Component>{
private JComponent root;
public MySwingUtil(JComponent root){
this.root = root;
}
public T getComponentByName(String name){
Component[] components = root.getComponents();
T response = null;
for(Component comp : components){
response = comp;// erro aqui!
}
return response;
}
}
O código acima só funciona quando eu troco a linha onde está dando erro por isso:
response = (T)comp;
Agora, eu pergunto: WTF?