thiago.correa 11 de mar. de 2009
Nops, a não ser que você percorra item por item do teu array list e vá testando um por um!
edersonamorim 11 de mar. de 2009
private ArrayList < Class > tipoContainers = new ArrayList < Class > () ;
tiposContainers .add ( JPanel .class ) ;
tiposContainers .add ( JScrollPane .class ) ;
if ( tipoContainers .contains ( component .getClass ())) {
}
se o componente não é um extends, vai funcionar, senão, acho que vai ter que usar um for e verificar cada elemento da lista…
berg.pb 11 de mar. de 2009
opa fabio
ve se isto ajuda:
public static void main ( String args [] ) {
ArrayList < Container > tiposContainers = new ArrayList < Container > ();
tiposContainers . add ( new JPanel ());
tiposContainers . add ( new JScrollPane ());
for ( Iterator < Container > it = tiposContainers . iterator (); it . hasNext ();){
if ( it . next () instanceof JPanel )
System . out . println ( true );
else
System . out . println ( false );
}
}
thingol 11 de mar. de 2009
Essa idéia é interessante (lembra o uso de delegates e “Find” no .NET Framework 2.0 ou posterior). Infelizmente, em Java não há delegates, então você não pode filtrar um conjunto usando uma condição de uma forma simples. É necessário usar um “for” mesmo, como foi sugerido acima.