Jcombo e SQL

1 resposta
T

Boa tarde.

Pessoal, estou com uma dúvida aqui em relação a popular combo com uma consulta SQL.
Sei que tem muito disso aqui no fórum, mas não consegui encaixar nada ou pelo - entender…

O código que tenho de criação do combo é o seguinte;

package Suporte;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.util.ArrayList;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class ConsAdm extends javax.swing.JFrame {

    JComboBox combo1 = null;
    MyComboModel model = null;
    JButton btOK = null;
    Formulario form;

    public ConsAdm() {

        setTitle("Administração");
        setLayout(new GridLayout(1, 3));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        form = FormularioSingle.getInstance();

        final ArrayList<String> ast = new ArrayList<String>();


        model = new MyComboModel(ast);

        combo1 = new JComboBox(model); //Aqui ele cria o combo...
        btOK = new JButton("OK"); //Aqui ele cria o botão...
        initListeners(); //Inicia a ação do botão.



        getContentPane().add(combo1); //Aqui ele adiciona o combo...
        add(btOK); //Aqui ele adiciona o botão...
        setLocationRelativeTo(null); //Posiciona no centro da tela.

        pack();

    }

    /*-- Inicio do método de ação do botão OK --*/
    public void initListeners() {
        btOK.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                //form.setAssunto(combo1.getSelectedItem().toString());
                new Registro().setVisible(true);
                dispose();
            }
        });

    }
    /*-- Fim do método de ação do Botão OK --*/

    class MyComboModel extends DefaultComboBoxModel {

        public ArrayList<String> ast = null;

        public MyComboModel(ArrayList<String> ast) {
            this.ast = ast;
        }

        @Override
        public Object getElementAt(int index) {
            return this.ast.get(index);
        }

        @Override
        public Object getSelectedItem() {
            return super.getSelectedItem();
        }

        @Override
        public int getSize() {
            return this.ast.size();
        }
    }
}

O código do meu Select é o seguinte

public void SelUsCad() {
        String comando = "Select Nome From tblUsuario";

        try {

            Statement stmt = cx.fazConexao().createStatement();
            ResultSet rs = stmt.executeQuery(comando);

            String selecionado = "";
            while (rs.next()) {

                String nome = rs.getString("Nome");

                ca.AdicionaCombo(nome);
                ca.setVisible(true);
//Mandar resultado do Select para o combo!
            }


        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "Não há usuário ou houve um erro na busca.");
        }
    }

Eu até tentei fazer algumas coisas, mas não consigo!!
A classe do Select é chamada Banco() e a do combo é chamada ConsAdm(). Como eu faço o select no Banco() e mando para ConsAdm() para popular uma combo?
Aguardo!!

muito obrigado.

1 Resposta

T

Ou até se a criação do combo estiver incorreta, apesar de funcionando para a função, avise.

Criado 28 de janeiro de 2011
Ultima resposta 31 de jan. de 2011
Respostas 1
Participantes 1