Ordenar dados em Java

Estou com um problema na ordenação de dados Java, porém inclui imagem e texto na tabela. Quando eu aplico um setRowSorter ele não ordena corretamente, eu descobri o motivo. É no qual quando eu desativo o renderizador da imagem ele exibe esse código: modeloBeans,BeansImagemTextoTabela@42d203af (cada item da tabela tem um código diferente) ao em vez da bandeira e o nome. Aí o setRowSorter ele ordena por essa numeração em vez de ser pelo nome do país.
Como eu faço para alterar isso? Segue as imagens explicativas:

Tente enviar sua lista já ordenada para a jTable utilize em sua classe a interface Comparable segue um link que pode te ajudar.

Bom, vc pode já add a lista já ordenada utilizando as novidades do Java 8 vou dar um exemplo bem básico:

public static void main(String[] args) {
        List<String> lista_nome = new ArrayList<>();
        lista_nome.add("Brasil");
        lista_nome.add("Alemanha");
        lista_nome.add("Brasil");
        lista_nome.add("Cuba");
        lista_nome.add("Brasil");
        lista_nome.add("Brasil");
        
        lista_nome.stream().sorted((nome1, nome2) -> nome1.compareTo(nome2)).forEach(resultado -> {
            System.out.println(resultado);
        });
        
    }

a lista tem esse método chamado stream() que retorna um classe Stream que tem algumas funções, como por exemplo o sorted() que é onde fazemos qualquer tipo de ordenação que quisemos, no código acima usei lambdas para ordena por nome, utilizando compareTo, vou te passar um link e vc verá com mais detalhes, mas o resultado do código acima é esse:

Brasil
Brasil
Brasil
Brasil
Cuba

Mais detalhes:
http://www.mballem.com/post/java-8-ordenando-dados-com-stream/

Consegui resolver o problema utilizando o Comparable na minha classe BenasImagemTexto. Obrigado pelas sugestões

Para maior entendimento,