Ciao,
Non sembra molto complicato.

Diciamo che hai:
codice:
int numeroLibri = 10;
Libro[] libri = new Libro[numeroLibri];
/* popoli l'array istanziando gli oggetti */

JLabel[] lblLibri = new JLabel[numeroLibri];
for (int i = 0; i<numeroLibri; i++) {
  // assegni alla label l'immagine di copertina
  lblLibri[i] = new JLabel(libri[i].getImage());
  // metti il titolo come tooltip text
  lblLibri[i].setToolTipText(libri[i].getTitle());
}
Ho fatto l'esempio più banale che mi è venuto in mente, ma ciò che conta è che hai "associato" ad ogni label un oggetto (in questo caso utilizzando due array paralleli).

Spero di essere stato d'aiuto