Duvida na minha aplicação java!
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]
[b]TABLE MODEL [/b]
[b]
DAO
[/b]
[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!
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
Curtidas 0