Ajuda com JTable[RESOLVIDO]

4 respostas
psyhclo

Ola pessoal, estou com um formulario de agendamento de servicos, dai eu o seguinte, ele tem um campo onde vc digita o nome do cliente e busca baseado nesse nome que vc esta procurando ao clicar no botao. Dai vai ter um JTable com os dados do agendamento, dai eu to querendo fazer oq, qdo eu clicar no botao buscar ele envia esse nome pra um campo da JTable da coluna Cliente, se nao achar ele mostra uma mensagem q nao achou, so que eu nao sei como fazer pra colocar o nome do cliente nesse campo da JTable. Eu ja to fazendo a busca so queria colocar o nome do cliente na JTable, nao sei como fazer isso, nem se jogo numa TextBox ou ComboBox. A classe do formulario esta abaixo uma imagem do formulario esta anexo.

Ajudem Plz.
package main.view;
import java.awt.Panel;
import javax.swing.table.TableModel;
import main.utilitarios.DateUtil;
import java.util.Timer;
import java.util.TimerTask;
import main.control.ClientePOJO;
import main.model.dao.ClienteDAO;
import main.model.dao.AgendaDAO;
import javax.swing.*;
import main.utilitarios.AutoComplete;
import java.sql.*;
import java.util.ArrayList;
import main.model.ConectaBanco;
import main.utilitarios.AutoComplete;
import main.control.ClientePOJO;
import java.util.ArrayList;
import javax.swing.JComboBox;
import java.sql.*;
import main.model.SingletonBd;

/**
 *
 * @author  Roger
 */
public class Agenda extends javax.swing.JFrame {
    private Connection con;
    private ClienteDAO ClienteDao;
    private AgendaDAO agendaDao;
    private ClientePOJO Cliente;
    private ClientePOJO ClientePojo;
    private AutoComplete autoComplete;
    private JComboBox comboBox;
    private ArrayList cli;
    private ClientePOJO clientePojo;
    private static ArrayList<ClientePOJO> clienteArrayList;
    private ArrayList linhas = null;  
    private String [] colunas = null;

    
    public String[] getColunas() {return colunas;}  
    public ArrayList getLinhas() {return linhas;}  
    public void setColunas(String[] strings) {colunas = strings;}  
    public void setLinhas(ArrayList list) {linhas = list;} 

    
    //private ClientePOJO Cliente;
    
    /** Creates new form Agenda */
    public Agenda() {
        super("Agendamento de Servicos");
        initComponents();
        ClienteDao = new ClienteDAO();
        agendaDao = new AgendaDAO();
        Cliente = new ClientePOJO();
        comboBox = new JComboBox();
    }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    consultar_No_banco();
    
}                                        

private void nome_cliActionPerformed(java.awt.event.ActionEvent evt) {                                         

}                                        

//Metodos
public ArrayList consultar_No_banco() {
         cli = new ArrayList();
         SingletonBd.connecta.conecta("bancoSalao");
         this.con = SingletonBd.connecta.getCon();
        try {
            String Busca = nome_cli.getText();
            PreparedStatement stmt = con.prepareStatement("select  id_cli, nome_cli, tel_cli from cliente where nome_cli="+"'"+Busca+"'");
            ResultSet rs = stmt.executeQuery();
            while(rs.next()){
                clientePojo = new ClientePOJO();
                clientePojo.setId_cli(rs.getInt("ID_CLI"));
                clientePojo.setNome_cli(rs.getString("nome_cli"));                                
                cli.add(clientePojo);
            }
            JOptionPane.showMessageDialog(null,"Cliente "+ clientePojo +" encontrado.","Boa Noticia!!",JOptionPane.INFORMATION_MESSAGE);
        }
            catch (SQLException ex) {
           JOptionPane.showMessageDialog(null, "Erro em consultar no banco:"+ex.getMessage(),"SQLException", JOptionPane.ERROR_MESSAGE);
                
            }
         SingletonBd.connecta.CloseCon();
         return cli;
}




public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Agenda().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField nome_cli;
    // End of variables declaration

}

4 Respostas

psyhclo

Por favor pessoal ajudem. !!!

psyhclo

NINGUEMMMM???

ViniGodoy

Ué, resolveu mesmo?

Pode postar a solução?

psyhclo

Sim. Fiz um metodo na classe Cliente DAO que chama getNomeCliente dai no botao de pesquisa no formulario passei os eventos . so q agora estou tendo outro problema, agente resolve um aparece outro. TO tentando popular um JComboBox com dados do banco. Flw

public String getNomeCliente(String nome){
        String nomeCliente = null;
        boolean flag=false;
        ArrayList<ClientePOJO> cli_list = consultar_No_banco();
            for(ClientePOJO cli_aux : cli_list){
                if(cli_aux.getNome_cli().equalsIgnoreCase(nome)){
                    nomeCliente = cli_aux.getNome_cli();
                    flag = true;
                    break;
                }
            }
            if(flag==false){
                JOptionPane.showMessageDialog(null, "Erro, o cliente nao esta cadastrado ou o nome informado esta incorreto. \nTente novamente ou cadastre o cliente","Aviso!!",JOptionPane.WARNING_MESSAGE);            
                return "";            
            }
            else                 
                 return nomeCliente;
    }
    public ArrayList consultar_No_banco() {
         cli = new ArrayList();
         SingletonBd.connecta.conecta("bancoSalao");
         this.con = SingletonBd.connecta.getCon();
        try {
            PreparedStatement stmt = con.prepareStatement("select *from cliente");
            ResultSet rs = stmt.executeQuery();
            while(rs.next()){
                clientePojo = new ClientePOJO();
                clientePojo.setId_cli(rs.getInt("ID_CLI"));
                clientePojo.setNome_cli(rs.getString("NOME_CLI"));
                clientePojo.setRua_cli(rs.getString("TEL_CLI"));
                clientePojo.setRua_cli(rs.getString("RUA_CLI"));
                clientePojo.setNum_rua_cli(rs.getInt("NUM_CLI"));
                clientePojo.setBairro_cli(rs.getString("BAIRRO_CLI"));
                clientePojo.setCompl_cli(rs.getString("COMPL_CLI"));
                clientePojo.setCidade_cli(rs.getString("CIDADE_CLI"));
                clientePojo.setEstado_cli(rs.getString("ESTADO_CLI"));
                clientePojo.setCep_cli(rs.getString("CEP_CLI"));
                clientePojo.setCpf_cli(rs.getString("CPF_CLI"));
                clientePojo.setVip_cli(rs.getString("VIP_CLI"));
                clientePojo.setData_cadastro_cli(rs.getString("DATA_CADASTRO_CLI"));
                
                cli.add(clientePojo);
            }
            //JOptionPane.showMessageDialog(null, "Erro em consultar no banco: "+,"SQLException", JOptionPane.ERROR_MESSAGE);
        }
            catch (SQLException ex) {
           JOptionPane.showMessageDialog(null, "Erro em consultar no banco: "+ex.getMessage(),"SQLException", JOptionPane.ERROR_MESSAGE);
            }
         SingletonBd.connecta.CloseCon();
         return cli;
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    if(!(this.nome_cli.getText().equalsIgnoreCase(ClienteDAO.SEM_NOME)))
        this.Tabela.getModel().setValueAt(ClienteDao.getNomeCliente(this.nome_cli.getText()) , incremento++, 0);
    
}
Criado 19 de novembro de 2009
Ultima resposta 20 de nov. de 2009
Respostas 4
Participantes 2