Estou criando um método cuja assinatura é mais ou menos assim:
setObjectsEnabled(Object[] ob, boolean b)
Minha intenção é usa-lo, por exemplo, assim:
setObjectsEnabled(new Object[]{jSpinner1,jSpinner2,jButton1,jList1},false);
O meu desejo é que o método execute algo assim:
for (Object o : ob){
o.setEnabled(b);
}
Para que, ao final, todos os objetos do array que forneci como parâmetro acabem, no caso, desabilitados (false) para edição.
Mas ocorre um problema pelo fato de que a classe Object não implementa o método setEnabled().
Penso então em modificar a classe de ‘o’ por casting.
Porém os objetos são de direntes classes (JSpinner, JButton, etc) e não estou sabendo como fazer esse casting corresponder
a cada classe da vez.
Pelo que ando lendo, a solução para isso deve passar por Reflection, ou .class.cast(), mas não estou certo disso. Alguem pode dar um rumo?
Obrigado.