1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

[RESOLVIDO] Ajuda para Ordenar ComboBox em Alfabética.

Bom dia!

Não estou conseguindo ordenar meus ComboBox em ordem alfabética, poderiam me ajudar?

Tentei usar o Array.sort ou Collections.sort mas não sei bem como utilizar, então não deu certo. Ví alguns tópicos que ensinava a fazer o Sort quando o Array é String, mas no meu caso os ObservableList são de tipos de Objetos, daí não consegui fazer os ComboBox em ordem alfabética, se alguém puder me ajudar, agradeço.

Vou mostrar como está montado meu código:

        private ObservableList      <Licenses>              listaLicenses;
        private ObservableList      <Softwares>             listaSoftwares;
        private ObservableList      <Softwares>             listaSoftwaresCMB;
        private ObservableList      <Versoes>               listaVersoes;
        private ObservableList      <Versoes>               listaVerFiltro;
        private ObservableList      <Tipos>                 listaTipos;
        private ObservableList      <Gerencias>             listaGerencias;
        private ObservableList      <Usuarios>              listaUsuarios;
        private ObservableList      <Usuarios>              listaUsuFiltro;
        private ObservableList      <Fabricantes>           listaFabricantes;
        private ObservableList      <Fornecedores>          listaFornecedores;
        private ObservableList      <Colaboradores>         listaColaboradores;

@FXML   private void tableUserFilter(){
    if (cboxUsuGerFiltro.getSelectionModel().getSelectedItem()== null ){
            Alert quadroError= new Alert(Alert.AlertType.ERROR);
                quadroError.setTitle("Erro de Filtro.");
                quadroError.setHeaderText("Resultado:");
                quadroError.setContentText("Erro: \nFiltros não selecionados.");    
                quadroError.showAndWait();}
  else {    conectar.conectarDB();
            System.out.println("Atualizando lista da TableView.");

        Gerencias nomeGer = new Gerencias (cboxUsuGerFiltro.getSelectionModel().getSelectedItem().getId_gerencias());
        Usuarios idGer    = new Usuarios  (nomeGer);        
        listaUsuarios = FXCollections.observableArrayList();        
        idGer.buscarUsuGerFiltro    (conectar, listaUsuarios);        
        tv_licenses_td.getItems().clear();
        tv_usuarios_td.setItems        (listaUsuarios);
        conectar.desconectarDB();}}

@Override
    public void initialize(URL url, ResourceBundle rb) {
        conectar = new Conectar();
// Exemplo de como minhas demais listas são carregadas?
//========================================  Iniciar listas
          listaLicenses         =       FXCollections.observableArrayList();
          listaSoftwares        =       FXCollections.observableArrayList();
          listaSoftwaresCMB     =       FXCollections.observableArrayList();
          listaVersoes          =       FXCollections.observableArrayList();
          listaTipos            =       FXCollections.observableArrayList();
          listaUsuarios         =       FXCollections.observableArrayList();
          listaGerencias        =       FXCollections.observableArrayList();
          listaFabricantes      =       FXCollections.observableArrayList();
          listaFornecedores     =       FXCollections.observableArrayList();  
//========================================  Buscar informações das listas          
          Licenses.buscarDados          (conectar.getConnection(),  listaLicenses);
          Softwares.buscarDados         (conectar.getConnection(),  listaSoftwares);
          Softwares.buscarDados         (conectar.getConnection(),  listaSoftwaresCMB);
          Versoes.buscarDados           (conectar.getConnection(),  listaVersoes);
          Tipos.buscarDados             (conectar.getConnection(),  listaTipos);
          Usuarios.buscarDados          (conectar.getConnection(),  listaUsuarios);
          Gerencias.buscarDados         (conectar.getConnection(),  listaGerencias);
          Fabricantes.buscarDados       (conectar.getConnection(),  listaFabricantes);
          Fornecedores.buscarDados      (conectar.getConnection(),  listaFornecedores);
        conectar.desconectarDB();

//======================================== Carregando dados nos ComboBox:
 //==================== Licenses;
            cboxLicSoftwares.setItems   (listaSoftwares);
            cboxLicGerencias.setItems   (listaGerencias);
            cboxLicSofFiltro.setItems   (listaSoftwaresCMB);
            cboxLicGerFiltro.setItems   (listaGerencias);

        cboxLicSoftwares.valueProperty().addListener((o , i , p)->{
            if(p!=null){
                VersoesSofFiltro id_softwares = new VersoesSofFiltro(   
                cboxLicSoftwares.getSelectionModel().getSelectedItem().getId_softwares(),
                String.valueOf("teste"));
                conectar.conectarDB();
                listaVerFiltro       = FXCollections.observableArrayList();
                id_softwares.buscarDadosVersoesSof          (conectar.getConnection(), listaVerFiltro);
                conectar.desconectarDB();              
                cboxLicVersoesSofFiltro.setItems            (listaVerFiltro);}
                cboxLicVersoesSofFiltro.setValue(null);});
                cboxLicGerencias.valueProperty().addListener((o , i , p)->{
            if(p!=null){
                UsuariosGerFiltro id_usuarios = new UsuariosGerFiltro(   
                cboxLicGerencias.getSelectionModel().getSelectedItem().getId_gerencias(),
                String.valueOf("teste"));

                conectar.conectarDB();
                listaUsuFiltro       = FXCollections.observableArrayList();
                id_usuarios.buscarUsuGerFiltroLic            (conectar.getConnection(), listaUsuFiltro);
                conectar.desconectarDB();              
                cboxLicUsuariosGerFiltro.setItems            (listaUsuFiltro);}
                cboxLicUsuariosGerFiltro.setValue(null);});

    //==================== SOFTWARES;
        cboxSofTipos.setItems               (listaTipos);
        cboxSofFabricantes.setItems         (listaFabricantes);
        cboxSofFornecedores.setItems        (listaFornecedores);

    //==================== VERSÕES;
        cboxVerSoftwares.setItems           (listaSoftwares);


    //==================== USUÁRIOS;
        cboxUsuGerencias.setItems           (listaGerencias);
        cboxUsuGerFiltro.setItems           (listaGerencias);        


//========================================  Associar listas as interfaces das tabelas.
            tv_licenses_td.setItems       (listaLicenses);
            tv_softwares_td.setItems      (listaSoftwares);
            tv_versoes_td.setItems        (listaVersoes);
            tv_tipos_td.setItems          (listaTipos);
            tv_usuarios_td.setItems       (listaUsuarios);
            tv_gerencias_td.setItems      (listaGerencias);
            tv_fabricantes_td.setItems    (listaFabricantes);
            tv_fornecedores_td.setItems   (listaFornecedores);
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.