Primeiro de tudo, faça sua tabela ter seleção por linha:
seuTable.setSelectionMode(JTable.ListSelectionModel.SINGLE_SELECTION);
Depois, adicione um selectionListener:
seuTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@override
public void valueChanged(ListSelectionEvent e) {
artistas.add(seuTableModel.get(suaTable.getSelectedRow()));
}
}
Para pegar o artista que está selecionado, basta perguntar ao seu tableModel, como fiz ali em cima. Como o seu ArtistaTableModel provavelmente tem o método get, que retorna um artista, é só usa-lo.
Se você está usando o DefaultTableModel. Bom, aí é um problema. Se você tiver todos os dados na sua tabela, e puder reconstruir o artista a partir dali (o que normalmente não é verdade), terá que dar um new no artista, copiar todos os dados da tabela para esse novo artista, e aí atribuí-lo a lista. Muito trabalho, duplicação de dados, e alta chance de erros.
(PS: Eu sei que vc provavelmente não usa o Default, mas não custa mostrar para quem eventualmente use o trabalhão que seria continuar insistindo no erro.)