PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Duvida na minha aplicação java! #467585

22/01/2014

0

Dúvida:

Queria que os valores das combos SERVIDORES E DESTINOS fossem gravados no banco, mas nao gravam, eles (os registros) aparecem nas combos mas na hora de rodar a aplicação e gravar nada acontece.


[b]:CADASTRO:
[/b]

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.upf.ads.poo.view;

import br.upf.ads.poo.beans.Destinos;
import br.upf.ads.poo.beans.Fornecedores;
import br.upf.ads.poo.beans.Requisicoes;
import br.upf.ads.poo.beans.Servidores;
import br.upf.ads.poo.dao.DestinosDAO;
import br.upf.ads.poo.dao.FornecedoresDAO;
import br.upf.ads.poo.dao.RequisicoesDAO;
import br.upf.ads.poo.dao.ServidoresDAO;
import br.upf.ads.poo.view.ServidoresCellRenderer;
import br.upf.ads.poo.view.ServidoresColumnModel;
import br.upf.ads.poo.view.ServidoresTableModel;
import br.upf.ads.poo.view.DestinosCellRenderer;
import br.upf.ads.poo.view.DestinosColumnModel;
import br.upf.ads.poo.view.DestinosTableModel;
import java.awt.FontMetrics;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListSelectionModel;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;

public class CadastroRequisicoes extends javax.swing.JDialog {

    ServidoresDAO sd = null;
    DestinosDAO dd = null;

    List<Requisicoes> listaRequisicoes;
    List<Servidores> listaServidores;
    List<Destinos> listaDestinos;

    private String acao;

    public CadastroRequisicoes(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        localiza();
        jtfIdRequisicao.setEditable(false);
        btSalvar.setEnabled(false);
        btNovo.setEnabled(true);
        btEditar.setEnabled(false);
        btCancelar.setEnabled(false);
        jtfdescricao.setEditable(false);
        jtfdataRequisicao.setEditable(false);
       // jCombolocalidade.setSelectedIndex(0);
      //  jCombonome.setSelectedIndex(0);

        sd = new ServidoresDAO();
        dd = new DestinosDAO();

        CarregaComboServidorResp();
        CarregaComboDestinosResp();

    }

    private void CarregaComboServidorResp() {
        List<Servidores> listServidores = sd.getListaServidores();

        DefaultComboBoxModel boxServidores = new DefaultComboBoxModel();
        for (Servidores serv : listServidores) {
            boxServidores.addElement(serv);
        }
        jCombonome.setModel(boxServidores);
    }

    private void CarregaComboDestinosResp() {
        List<Destinos> listDestinos = dd.getListaDestinos();

        DefaultComboBoxModel boxDestinos = new DefaultComboBoxModel();
        for (Destinos dest : listDestinos) {
            boxDestinos.addElement(dest);
        }
        jCombolocalidade.setModel(boxDestinos);
    }

    private void localiza() {
        RequisicoesDAO requisicaoDAO = new RequisicoesDAO();
        List<Requisicoes> listaRequisicoes = requisicaoDAO.getRequisicoes(editLocaliza.getText().toUpperCase());
        if (!listaRequisicoes.isEmpty()) {
            configuraGridRequisicoes(listaRequisicoes);
            tabelaRequisicoes.setRowSelectionInterval(0, 0);
            tabelaRequisicoes.requestFocus();
        } else {
            configuraGridRequisicoes(new ArrayList<Requisicoes>());
            editLocaliza.requestFocus();
            editLocaliza.selectAll();
        }
    }

    private void configuraGridRequisicoes(List<Requisicoes> listaRequisicoes) {
        if (listaRequisicoes == null) {
            this.listaRequisicoes = new ArrayList<Requisicoes>();
        } else {
            this.listaRequisicoes = listaRequisicoes;
        }
        tabelaRequisicoes.setModel(new RequisicoesTableModel(this.listaRequisicoes,this.listaServidores,this.listaDestinos));
        tabelaRequisicoes.setSelectionModel(new DefaultListSelectionModel() {
            public String toString() {
                return "tabelaRequisicoes";
            }
        });

        tabelaRequisicoes.setAutoCreateColumnsFromModel(false);
        tabelaRequisicoes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        FontMetrics fm = tabelaRequisicoes.getFontMetrics(tabelaRequisicoes.getFont());
        tabelaRequisicoes.setColumnModel(new RequisicoesColumnModel(fm));
    }

    
    
    

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        tabelaRequisicoes = new javax.swing.JTable();
        editLocaliza = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jtfIdRequisicao = new javax.swing.JTextField();
        btNovo = new javax.swing.JButton();
        btEditar = new javax.swing.JButton();
        btSalvar = new javax.swing.JButton();
        btCancelar = new javax.swing.JButton();
        jtfdataRequisicao = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jtfdescricao = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jCombonome = new javax.swing.JComboBox();
        jLabel6 = new javax.swing.JLabel();
        jCombolocalidade = new javax.swing.JComboBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Cadastro de Requisições");

        tabelaRequisicoes.setBackground(new java.awt.Color(204, 204, 204));
        tabelaRequisicoes.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        tabelaRequisicoes.setForeground(new java.awt.Color(102, 102, 102));
        tabelaRequisicoes.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7", "Title 8", "Title 9", "Title 10"
            }
        ));
        tabelaRequisicoes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabelaRequisicoesMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tabelaRequisicoes);

        editLocaliza.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        editLocaliza.setToolTipText("Digite a descrição da requisição desejada");
        editLocaliza.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                editLocalizaMouseClicked(evt);
            }
        });

        jButton1.setText("Pesquisar");

        jLabel1.setText("Requisição Nº:");

        jtfIdRequisicao.setBackground(new java.awt.Color(255, 255, 204));

        btNovo.setText("Nova Requisição");
        btNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btNovoActionPerformed(evt);
            }
        });

        btEditar.setText("Editar Requisição");
        btEditar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btEditarActionPerformed(evt);
            }
        });

        btSalvar.setText("Salvar Requisição");
        btSalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btSalvarActionPerformed(evt);
            }
        });

        btCancelar.setText("Cancelar");
        btCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btCancelarActionPerformed(evt);
            }
        });

        jLabel3.setText("Data da Requisição:");

        jtfdescricao.setToolTipText("Descreva o que deve ser pedido");

        jLabel4.setText("Descrição do pedido:");

        jLabel5.setText("Servidor Responsável:");

        jCombonome.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jCombonome.setToolTipText("Selecione um registro");

        jLabel6.setText("Destino:");

        jCombolocalidade.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Selecionar", "Item 2", "Item 3", "Item 4" }));
        jCombolocalidade.setToolTipText("Selecione um registro");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 5, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jtfIdRequisicao, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(46, 46, 46)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jtfdataRequisicao, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(891, 891, 891))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(322, 322, 322)
                        .addComponent(editLocaliza, javax.swing.GroupLayout.PREFERRED_SIZE, 499, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel5)
                        .addGap(24, 24, 24)
                        .addComponent(jCombonome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(180, 180, 180)
                        .addComponent(jLabel6)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jCombolocalidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel4)
                        .addGap(18, 18, 18)
                        .addComponent(jtfdescricao, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(360, 360, 360)
                        .addComponent(btNovo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btEditar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btSalvar)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btCancelar, btSalvar});

        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(editLocaliza, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(28, 28, 28)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jtfIdRequisicao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel3)
                        .addComponent(jtfdataRequisicao, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(27, 27, 27)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jtfdescricao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(jCombonome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6)
                    .addComponent(jCombolocalidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 106, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btNovo)
                    .addComponent(btEditar)
                    .addComponent(btSalvar)
                    .addComponent(btCancelar))
                .addGap(36, 36, 36))
        );

        pack();
        setLocationRelativeTo(null);
    }// </editor-fold>                        

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

        //formata a data 
        SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
//
//        //Instancia calendar com a data atual       
        Calendar data = Calendar.getInstance();
//
//
//        //Para setar o valor no campo
        jtfdataRequisicao.setText(formatoData.format(data.getTime()));

        Date dataRequisicao = null;

        try {
            //Para transformar o valor do campo em data novamente
            dataRequisicao = (Date) formatoData.parse(jtfdataRequisicao.getText());
        } catch (ParseException ex) {
            Logger.getLogger(CadastroRequisicoes.class.getName()).log(Level.SEVERE, null, ex);
        }

        acao = "I";

        jtfdescricao.setText("");
        btSalvar.setEnabled(true);
        btNovo.setEnabled(false);
        btEditar.setEnabled(false);
        btCancelar.setEnabled(true);
        jtfdescricao.setEditable(true);
        jtfdataRequisicao.setEditable(false);
        jtfdescricao.requestFocus();

        Servidores servidoreSelecionado = (Servidores) jCombonome.getSelectedItem();
        Destinos destinoeSelecionado = (Destinos) jCombolocalidade.getSelectedItem();
    }                                      

    private void btCancelarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        jtfIdRequisicao.setText("");

        jtfdataRequisicao.setText("");
        jtfdescricao.setText("");
        btSalvar.setEnabled(false);
        btNovo.setEnabled(true);
        btEditar.setEnabled(false);
        btCancelar.setEnabled(true);

        jtfIdRequisicao.setEditable(false);
        jtfdataRequisicao.setEditable(false);
        jtfdescricao.setEditable(false);

    }                                          

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

        Servidores servidoreSelecionado = (Servidores) jCombonome.getSelectedItem();
        Destinos destinoeSelecionado = (Destinos) jCombolocalidade.getSelectedItem();

        //formata a data 
        SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
//
//        //Instancia calendar com a data atual       
        Calendar data = Calendar.getInstance();
//
//
//        //Para setar o valor no campo
        jtfdataRequisicao.setText(formatoData.format(data.getTime()));

        if (acao.equals("I")) {
            try {
                RequisicoesDAO requisicaoDAO = new RequisicoesDAO();
                Integer idNovoRequisicao = requisicaoDAO.IncluirRequisicao(jtfdescricao.getText().toUpperCase(), (Date) formatoData.parse(jtfdataRequisicao.getText()));
                jtfIdRequisicao.setText(idNovoRequisicao.toString());

                jtfdataRequisicao.setText("");
                jtfdescricao.setText("");
                jtfIdRequisicao.setText("");

            } catch (ParseException ex) {
                Logger.getLogger(CadastroRequisicoes.class.getName()).log(Level.SEVERE, null, ex);
            }

        } else if (acao.equals("E")) {

            RequisicoesDAO requisicaoDAO = new RequisicoesDAO();
            requisicaoDAO.EditarRequisicao(jtfdescricao.getText().toUpperCase(), Integer.valueOf(jtfIdRequisicao.getText()));
            jtfdataRequisicao.setText("");
            jtfdescricao.setText("");
            jtfIdRequisicao.setText("");

        }

        localiza();
        btSalvar.setEnabled(false);
        btNovo.setEnabled(true);
        btEditar.setEnabled(false);
        btCancelar.setEnabled(false);


           }                                        

    private void tabelaRequisicoesMouseClicked(java.awt.event.MouseEvent evt) {                                               
        //formata a data 
        SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
//
//        //Instancia calendar com a data atual       
        Calendar data = Calendar.getInstance();

        if (tabelaRequisicoes.getSelectedRowCount() > 0) {
            AbstractTableModel modelo = (AbstractTableModel) tabelaRequisicoes.getModel();
            jtfIdRequisicao.setText(String.valueOf((Integer) modelo.getValueAt(tabelaRequisicoes.getSelectedRow(), 0)));
            jtfdataRequisicao.setText(String.valueOf((Date) modelo.getValueAt(tabelaRequisicoes.getSelectedRow(), 2)));
            jtfdescricao.setText((String) modelo.getValueAt(tabelaRequisicoes.getSelectedRow(), 3));
           // jCombonome.setSelectedItem((String) modelo.getValueAt(tabelaRequisicoes.getSelectedRow(), 3));
      //      jCombolocalidade.setSelectedItem((String) modelo.getValueAt(tabelaRequisicoes.getSelectedRow(), 4));

            btEditar.setEnabled(true);
        } else {
            jtfIdRequisicao.setText("");
            jtfdataRequisicao.setText("");

        }
    }                                              

    private void btEditarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        acao = "E";
        jtfdataRequisicao.setEditable(false);
        jtfdescricao.setEditable(true);
        btNovo.setEnabled(false);
        btEditar.setEnabled(false);
        btSalvar.setEnabled(true);
        btCancelar.setEnabled(true);
    }                                        

    private void editLocalizaMouseClicked(java.awt.event.MouseEvent evt) {                                          
        editLocaliza.setText("");
    }                                         

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(CadastroRequisicoes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(CadastroRequisicoes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(CadastroRequisicoes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(CadastroRequisicoes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the dialog */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                CadastroRequisicoes dialog = new CadastroRequisicoes(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton btCancelar;
    private javax.swing.JButton btEditar;
    private javax.swing.JButton btNovo;
    private javax.swing.JButton btSalvar;
    private javax.swing.JTextField editLocaliza;
    private javax.swing.JButton jButton1;
    private javax.swing.JComboBox jCombolocalidade;
    private javax.swing.JComboBox jCombonome;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jtfIdRequisicao;
    private javax.swing.JTextField jtfdataRequisicao;
    private javax.swing.JTextField jtfdescricao;
    private javax.swing.JTable tabelaRequisicoes;
    // End of variables declaration                   
}


[b]TABLE MODEL [/b]

package br.upf.ads.poo.view;

import br.upf.ads.poo.beans.Destinos;
import br.upf.ads.poo.beans.Requisicoes;
import br.upf.ads.poo.beans.Servidores;
import java.util.List;
import javax.swing.table.AbstractTableModel;

public class RequisicoesTableModel extends AbstractTableModel {

    private List<Requisicoes> listaRequisicoes;
    private List<Servidores> listaServidores;
    private List<Destinos> listaDestinos;

    public RequisicoesTableModel(List<Requisicoes> listaRequisicoes, List<Servidores> listaServidores, List<Destinos> listaDestinos) {

        this.listaRequisicoes = listaRequisicoes;
        this.listaServidores = listaServidores;
        this.listaDestinos = listaDestinos;

    }

    public Object getValueAt(int rowIndex, int columnIndex) {

        Requisicoes requisicao = listaRequisicoes.get(rowIndex);
        Servidores servidor = listaServidores.get(rowIndex);
        Destinos destinos = listaDestinos.get(rowIndex);

        switch (columnIndex) {
            case 0:
                return requisicao.getIdRequisicao();
            case 1:
                return requisicao.getDataRequisicao();
            case 2:
                return requisicao.getDescricao();
            case 3:
                return servidor.getNome();
            case 4:
                return destinos.getlocalidade();

        }
        return null;
    }

    public int getRowCount() {
        return listaRequisicoes.size();
    }

    public int getColumnCount() {
        return 5;
    }

    public Requisicoes getValues(int rowIndex) {
        return listaRequisicoes.get(rowIndex);

    }
}



[b]
DAO
[/b]

package br.upf.ads.poo.dao;

import br.upf.ads.poo.beans.Requisicoes;
import br.upf.ads.poo.util.PoolConn;
import java.util.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class RequisicoesDAO {

    Statement stm;
    PreparedStatement pstm;
    ResultSet rs;
    ResultSet rs1;
    PoolConn conn = new PoolConn();

    public List<Requisicoes> getRequisicoes(String filtro) {
        try {
            List<Requisicoes> listRetorno = new ArrayList<Requisicoes>();
            Requisicoes requisicao;

            String sql;
            if (filtro.equals("")) {
                sql = "Select * from Requisicoes ORDER BY idRequisicao;";
            } else {
                sql = "Select * from Requisicoes Where descricao like '" + filtro + "%'";
            }

            stm = PoolConn.getConnection().createStatement();
            rs = stm.executeQuery(sql);

            while (rs.next()) {
                requisicao = new Requisicoes();
                requisicao.setIdRequisicao(rs.getInt("idRequisicao"));
                requisicao.setDescricao(rs.getString("descricao"));
                requisicao.setDataRequisicao(rs.getDate("dataRequisicao"));
                listRetorno.add(requisicao);
            }
            return listRetorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

    }

    public Integer IncluirRequisicao(String descricao, Date dataRequisicao) {
        try {
            PreparedStatement ps = PoolConn.getConnection().prepareStatement("insert into requisicoes "
                    + "(descricao,dataRequisicao) values (?,?) returning idRequisicao;");
            ps.setString(1, descricao);
            ps.setDate(2, new java.sql.Date(dataRequisicao.getTime()));

            ResultSet rs = ps.executeQuery();

            Integer idRequisicao = null;

            if (rs.next()) {
                idRequisicao = rs.getInt("idRequisicao");
                            }
            return idRequisicao;

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public void EditarRequisicao(String descricao,Integer idRequisicao) {
        try {

            PreparedStatement ps = PoolConn.getConnection().prepareStatement("update requisicoes "
                    + "set descricao = ? Where idRequisicao = ?;");
            ps.setString(1, descricao);
            ps.setInt(2, idRequisicao);

            ps.executeUpdate();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


[b] Está dando erro no table model - - Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at br.upf.ads.poo.view.RequisicoesTableModel.getValueAt(RequisicoesTableModel.java:26) [/b]

Desde já agradeço!
Willian Lorenson

Willian Lorenson

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar