Buongiorno. E' possibile accedere ai componenti (JTextField ad esempio) di un JPanel per nome?

La cosa migliore che sono riuscita a fare è una cosa del genere:

codice:
public Component getComponentByName(JPanel p) {
     for (Component c : p.getComponents()) {
             String name = c.getName();
             if (c != null && name.compareToIgnoreCase(nameFld)==0) 
                  return c;
     }
}
Esiste qualche metodo più efficiente?

Grazie