Não ordena (Comparator)[RESOLVIDO]

3 respostas
D

Alguém sabe o porquê?

Classe que implementa comparator:

public class ComparaFilme implements Comparator<Filme>{
    public int compare(Filme a, Filme b){
        return a.getTitulo().compareTo(a.getTitulo());

      }

}

Criação de objetos Filme

private void btGravarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        List<String> listaAtor = new ArrayList<String>();
        Filme f = new Filme(0, "", "", listaAtor);
        boolean teste = verificaCampos();
        if (teste == true) {
            f.setCodigo(Integer.parseInt(tfCodigo.getText()));
            f.setGenero((String) comboGenero.getSelectedItem());
            f.setTitulo(tfTitulo.getText());
            listaAtor.add(tfAtores1.getText());
            listaAtor.add(tfAtores2.getText());
            f.setAtores(listaAtor);
            limparCampos();
            lista.add(f);


        } else {
            JOptionPane.showMessageDialog(null, "Preencha todos os campos");
        }
    }

Impressão no Jlist

private void jTabbedPane1MouseClicked(java.awt.event.MouseEvent evt) {                                          
        ComparaFilme ca = new ComparaFilme();
        Collections.sort(lista, ca);

        DefaultListModel modelo = new DefaultListModel();
        for (Filme filme : lista) {
            modelo.addElement(filme);
        }
        jList.setModel(modelo);

    }

Muito Obrigado!

3 Respostas

diego.sas
Olha na sua classe.
public class ComparaFilme implements Comparator<Filme>{   
    public int compare(Filme a, Filme b){   
        return a.getTitulo().compareTo(a.getTitulo());   
        // verfique que deveria ser
        return a.getTitulo().compareTo(b.getTitulo());   
      }   
  
}
D

isso mesmo…três horas perdidas aqui devido a isso…Valeu Diego

diego.sas

Não por isso.
As vezes passa alguns detalhes na hora da pressa… rsr
FLW

Criado 27 de outubro de 2011
Ultima resposta 27 de out. de 2011
Respostas 3
Participantes 2