Hay componentes ya hechos, aunque yo la vez que lo implementé, lo que hice fue simplemente filtrar a través del TableModel y refrescar.
Si tienes montado un TableModel dinámico es un añadido relativamente fácil.
El ejemplo de como lo hice yo es con un modelo así:
http://www.koders.com/java/fid0CD841...BF483EF0B.aspx