[RESOLVIDO] Fazer o JcomboBox Aparecer meus dados do Banco Mysql?

5 respostas
diegodtsa

Bom galera tenho uma aplicação onde cadastro empresas, funcionários e contratos!!!

No cadastro de empresa, cadastro os dados da empresa, como Razão Social, cnpj, insc estadual…
Ainda no cadastro da empresa eu tenho um campo onde eu cadastro o numero do contrato!!!
Até ai tudo bem eu consigo salvar tranquilamente no banco de dados Mysql!!!

Numa Outra tela eu tenho o cadastro de funcionário, que tem Um JcomboBox, eu quero que nesse JcomboBox mostre pra mim o numero do contrato cadastrado no Cadastro de empresa!!! Como Faço???

Eu quero Clicar no JcomboBox e aparecer o numero de contrato cadastrado no Cadastro de empresa!!!

Ajuda ai gente brigadão!!!

5 Respostas

jrbilll
diegodtsa:
Bom galera tenho uma aplicação onde cadastro empresas, funcionários e contratos!!!

No cadastro de empresa, cadastro os dados da empresa, como Razão Social, cnpj, insc estadual.....
Ainda no cadastro da empresa eu tenho um campo onde eu cadastro o numero do contrato!!!
Até ai tudo bem eu consigo salvar tranquilamente no banco de dados Mysql!!!

Numa Outra tela eu tenho o cadastro de funcionário, que tem Um JcomboBox, eu quero que nesse JcomboBox mostre pra mim o numero do contrato cadastrado no Cadastro de empresa!!! Como Faço????

[img]http://bytescout.com/images/examples/bytescoutpdf/combobox.png[/img]

Eu quero Clicar no JcomboBox e aparecer o numero de contrato cadastrado no Cadastro de empresa!!!

Ajuda ai gente brigadão!!!

Vai em propriedades do JComboBox e em "model" e apaga todas as opções q tem la. Então dentro do construtor da classe ficaria mais ou menos assim:
java.sql.Connection con;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = java.sql.DriverManager.getConnection(
                    "jdbc:mysql://10.0.0.42:3306/sefin", "root", "159753");
        } catch (Exception e) {
            e.printStackTrace();
            throw new java.lang.RuntimeException("Erro ao conectar");
        }


        String comando = "SELECT * FROM situacao";


        try {
            java.sql.Statement stmt = con.createStatement();
            java.sql.ResultSet rs = stmt.executeQuery(comando);

            while (rs.next()) {

                JComboBox1.addItem(rs.getString("descricao"));




            }
            stmt.close();
            con.close();
        } catch (java.sql.SQLException e) {
            throw new java.lang.RuntimeException(e.getMessage());
        }


        try {
            con.close();
        } catch (Exception e) {
            throw new java.lang.RuntimeException("erro ao fexar a conexão");
        }

No select especifica a tabela em que a consulta vai ser feita para listagem dos dados.

abelgomes

uma pesquisa rapida no google:

http://www.guj.com.br/java/105699-jcombobox-campos-dinamicos#570627

oddy.silva

Se você não quiser alterar seu DAO, você pode continuar a receber os resultados do banco do jeito que está, mas vai ter que usar o DefaultComboBoxModel.

Receita:

1 - Faça a consulta no banco
2 - Com o resultado da busca, para cada item do resultado, adicione o elemento ao DefaultComboBoxModel
3 - Adicione o model (O DefaultComboBoxModel) ao seu JComboBox

Tudo o que você precisa:

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JComboBox.html
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/DefaultComboBoxModel.html

Flw

diegodtsa

Bom Galera Problema Resolvido!!!

public JCadClienteView(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        try {
            Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario", "root", "11111");

            String query = "SELECT * FROM dados_empresa";

            PreparedStatement stmt = conn.prepareStatement(query);

            ResultSet rs;

            rs = stmt.executeQuery();

                while (rs.next()){

                    jComboBox1.addItem(rs.getString("contrato"));
                }

            stmt.close();
            conn.close();


        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();

        }  catch (SQLException sqlException){
            sqlException.printStackTrace();
        }


    }

O codigo tem de ser feito no inicio da classe logo depois de initComponents();!!!

Valeu Abraço a todos que ajudaram!!!

jrbilll

diegodtsa:
Bom Galera Problema Resolvido!!!

public JCadClienteView(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        try {
            Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario", "root", "11111");

            String query = "SELECT * FROM dados_empresa";

            PreparedStatement stmt = conn.prepareStatement(query);

            ResultSet rs;

            rs = stmt.executeQuery();

                while (rs.next()){

                    jComboBox1.addItem(rs.getString("contrato"));
                }

            stmt.close();
            conn.close();


        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();

        }  catch (SQLException sqlException){
            sqlException.printStackTrace();
        }


    }

O codigo tem de ser feito no inicio da classe logo depois de initComponents();!!!

Valeu Abraço a todos que ajudaram!!!

Isso mesmo, desculpa, esqueci de avisar.

Criado 6 de abril de 2011
Ultima resposta 7 de abr. de 2011
Respostas 5
Participantes 4