Tipo de componentes

Ola galera, estou tentando descobri como rastrear que tipo de componentes existem dentro de um container (JPanel), por exemplo na minha aplicação eu add varios jcheckbox dinamicamente em um jpanel. Como eu faço para checar 1 ou varios jcheckbox mesmo não sabendo o nome deles.
em delphi funciona assim:
procedure TFrmCadastro.limpacampo;
Var
I: Integer;
Begin
For I := 0 to ComponentCount - 1 do
begin
if Components[I] is TEdit then TEdit(Components[I]).Clear;
If Components[I] is TMaskEdit then TMaskEdit(Components[I]).Clear;
if Components[I] is TMemo then TMemo(Components[I]).Clear;
if Components[I] is TRichEdit then TRichEdit(Components[I]).Clear;
if Components[I] is TRadioGroup then TRadioGroup(Components[I]).ItemIndex:=-1;
if Components[I] is TCheckBox then TCheckBox(Components[I]).Checked:=False;
if Components[I] is TRadioButton then TRadioButton(Components[I]).Checked:=False;
if Components[I] is TComboBox then TCombobox(Components[I]).ItemIndex:=-1;
End;
End;

Alguen pode me ajudar. 8O

		JPanel p = new JPanel();
		p.add(new JCheckBox());
		p.add(new JTextField());
		p.add(new JTextArea());

		for (Component c : p.getComponents()) {
			if (c instanceof JCheckBox)
				System.out.println("checkbox: " + c);
			else if (c instanceof JTextField)
				System.out.println("textField: " + c);
			else
				System.out.println(c.getClass() + ": " + c);
		}

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html#getComponents()