Pessoal seguinte, to com um trabalho de java onde tenho que fazer um sistema de locadora sem banco de dados ou seja , todos os cadastros são armazenados em um arquivo .txt.
na tela de cadastro de midia, ao executar a tela , eu consigo listar todos os atores que tenho cadastrados, no Jcombobox, porém sem ordem alfabética , o que tornaria muito difícil quando estiver muitos atores cadastrados.
segue o código:
for (int i = 0; i <9999; i++)
{
Integer CadAtor;
try {
CadAtor =i;
AtorBean Ator = lerAtor(CadAtor);
if (CadAtor.equals(Ator.getCodigoAtor())) {
jbcAtor.addItem(Ator.getNomeAtor());
{Ator.getNomeAtor()}));
jtCodigoMidia.requestFocus();
}
} catch (NumberFormatException numberFormatException) {
JOptionPane.showOptionDialog(this, "Código não é um valor válido", "Erro na consulta", JOptionPane.CLOSED_OPTION, JOptionPane.ERROR_MESSAGE, null, null, null);
}
existe alguma maneira de ordená-los alfabéticamente?
Obrigado.
Use o Glazed Lists e seja feliz!
http://publicobject.com/glazedlists/
Basicamente: você deve criar uma SortedList<> e criar a partir dela um EventComboBoxModel<>. Então você associa esse EventComboBoxModel ao Combo (usando setModel), e então você terá um combo sempre ordenado.
Para ter um combo com auto-complete, você pode chamar a classe AutoCompleteSupport do GlazedLists, que ele irá acrescentar o recurso de auto-complete ao seu combo.
OK?
eu soube que este código resolveria o problema , eu só não sei o que colocar na variavel nome,na linha 14 ja que no exemplo os nomes são inseridos manualmente e no meu caso eles entrarão automaticamente
[code]import java.awt.;
import javax.swing.;
import java.util.*;
public class Estudos extends JFrame{
public Estudos(){
super(“A classe JComboBox”);
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria o array que armazenará os itens do
// combo box
String[] nomes = {"Osmar", "Cristina", "Antônio",
"Marcela", "Joaquim"};
// ordena os itens
Arrays.sort(nomes);
// Cria o JComboBox
JComboBox combo = new JComboBox(nomes);
// Adiciona o JComboBox à janela
c.add(combo);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}[/code]
Você pode ler o link que eu te passei. Ou usar a biblioteca que o entaglement te passou.
O funcionamento desse código aí é explicado no link que te mandei.