[IMG]http://img801.imageshack.us/img801/4024/ligou.png[/IMG]
Uploaded with ImageShack.us
Pessoal, estou tentando inserir jchekbox na coluna em vermelho, mas não estou conseguindo, peço a ajuda de vocês.
Meu codigo da table está assim
/*
* MyTableModel.java
*
* Criado em 29/10/2012, 23:47:03
*/
package centraldeCredito;
import javax.swing.table.AbstractTableModel;
public class MyTableModel extends AbstractTableModel {
private String[] colunas;
private Object[][] linhas;
public MyTableModel(Object[][] linhas, String[] colunas) {
setLinhas(linhas);
setColunas(colunas);
}
// obtem o valor da linhas
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// retorna linha
return linhas[rowIndex][columnIndex];
}
// configura valor da linha
@Override
public void setValueAt(Object value, int rowIndex, int columnIndex) {
linhas[rowIndex][columnIndex] = value;
fireTableCellUpdated(rowIndex, columnIndex);
}
// adiciona nova linha
public void addRow(Object[][] dadosLinha) {
setLinhas(dadosLinha);
int linha = getLinhas().length - 1;
fireTableRowsInserted(linha, linha);
}
@Override
public String getColumnName(int col) {
return getColunas()[col];
}
// retorna o numero de colunas
@Override
public int getColumnCount() {
return getColunas().length;
}
// retorna o numero de linhas
@Override
public int getRowCount() {
return getLinhas().length;
}
public Object[][] getLinhas() {
return linhas;
}
public String[] getColunas() {
return colunas;
}
private void setLinhas(Object[][] dados) {
linhas = dados;
}
private void setColunas(String[] dados) {
colunas = dados;
}
// remove todas as linhas da tabela
public void removeRows() {
setLinhas(new Object[0][colunas.length]);
int linha = getLinhas().length > 0 ? (getLinhas().length - 1) : 0;
fireTableRowsDeleted(0, linha);
}
} // fim da classe MyTableModel
Agora o codigo da minha consulta a table
/*
* ConsultaClientesJPanel.java
*
* Criado em 29/10/2012, 23:47:03
*/
package centraldeCredito;
import java.util.Collections;
import java.util.List;
import javax.swing.JOptionPane;
public class ConsultaClientesJPanel extends javax.swing.JPanel {
private CentraldeCreditoTeste centraldeCreditoTeste;
private MyTableModel tableModel;
private GenericDAO dAO;
private static final String[] COLUNAS = {"ID", "NOME", "NASCIM", "CPF", "END", "BAIRRO", "CIDADE", "CEP", "TEL.RESID", "TEL.CEL", "TEL.OPC", "NB", "BANCO", "VL", "VB", "NX", "PRIM.DESC", "NB", "BANCO", "VL", "VB", "NX", "PRIM.DESC", "NB", "BANCO", "VL", "VB", "NX", "PRIM.DESC", "OBS", "LIGOU?"};
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroupPesquisa;
private javax.swing.JButton jButtonEditar;
private javax.swing.JButton jButtonExcluir;
private javax.swing.JButton jButtonVisualizarTudo;
private javax.swing.JLabel jLabelTitulo;
private javax.swing.JPanel jPanelBotoes;
private javax.swing.JPanel jPanelTitulo;
private javax.swing.JScrollPane jScrollPaneTabelaClientes;
private javax.swing.JTable jTableClientes;
private javax.swing.JTextField jTextFieldPesquisa;
private javax.swing.JToggleButton jToggleButtonIniciaCom;
private javax.swing.JToggleButton jToggleButtonTem;
private javax.swing.JToggleButton jToggleButtonTerminaCom;
// End of variables declaration//GEN-END:variables
/** Creates new form ConsultaClientesJPanel */
public ConsultaClientesJPanel() {
initComponents();
} // fim do construtor ConsultaClientesJPanel
/** 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">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
buttonGroupPesquisa = new javax.swing.ButtonGroup();
jPanelTitulo = new javax.swing.JPanel();
jLabelTitulo = new javax.swing.JLabel();
jButtonVisualizarTudo = new javax.swing.JButton();
jPanelBotoes = new javax.swing.JPanel();
jTextFieldPesquisa = new javax.swing.JTextField();
jToggleButtonTem = new javax.swing.JToggleButton();
jToggleButtonIniciaCom = new javax.swing.JToggleButton();
jToggleButtonTerminaCom = new javax.swing.JToggleButton();
jScrollPaneTabelaClientes = new javax.swing.JScrollPane();
jTableClientes = new javax.swing.JTable();
jButtonEditar = new javax.swing.JButton();
jButtonExcluir = new javax.swing.JButton();
jPanelTitulo.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
jLabelTitulo.setText("Consulta Clientes");
jTextFieldPesquisa.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jTextFieldPesquisaKeyReleased(evt);
}
});
jPanelBotoes.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanelBotoes.setLayout(new java.awt.GridBagLayout());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(7, 11, 6, 0);
jPanelBotoes.add(jTextFieldPesquisa, gridBagConstraints);
buttonGroupPesquisa.add(jToggleButtonTem);
jToggleButtonTem.setSelected(true);
jToggleButtonTem.setText("Tem");
jToggleButtonTem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jToggleButtonTemActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 0.11;
gridBagConstraints.insets = new java.awt.Insets(6, 20, 6, 0);
jPanelBotoes.add(jToggleButtonTem, gridBagConstraints);
buttonGroupPesquisa.add(jToggleButtonIniciaCom);
jToggleButtonIniciaCom.setText("Inicia Com");
jToggleButtonIniciaCom.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jToggleButtonIniciaComActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 0.1;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 0);
jPanelBotoes.add(jToggleButtonIniciaCom, gridBagConstraints);
buttonGroupPesquisa.add(jToggleButtonTerminaCom);
jToggleButtonTerminaCom.setText("Termina Com");
jToggleButtonTerminaCom.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jToggleButtonTerminaComActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 0.1;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 11);
jPanelBotoes.add(jToggleButtonTerminaCom, gridBagConstraints);
jButtonVisualizarTudo.setText("Visualizar Tudo");
jButtonVisualizarTudo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonVisualizarTudoActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanelTituloLayout = new javax.swing.GroupLayout(jPanelTitulo);
jPanelTitulo.setLayout(jPanelTituloLayout);
jPanelTituloLayout.setHorizontalGroup(
jPanelTituloLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelTituloLayout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanelTituloLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jPanelBotoes, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 519, Short.MAX_VALUE)
.addGroup(jPanelTituloLayout.createSequentialGroup()
.addComponent(jLabelTitulo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 338, Short.MAX_VALUE)
.addComponent(jButtonVisualizarTudo)))
.addContainerGap())
);
jPanelTituloLayout.setVerticalGroup(
jPanelTituloLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelTituloLayout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanelTituloLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelTitulo)
.addComponent(jButtonVisualizarTudo))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanelBotoes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
Object linhas[][] = new Object[0][COLUNAS.length];
tableModel = new MyTableModel(linhas, COLUNAS);
jTableClientes.setModel(tableModel);
jTableClientes.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTableClientesMouseClicked(evt);
}
});
jScrollPaneTabelaClientes.setViewportView(jTableClientes);
jButtonEditar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/centraldeCredito/img/editar.png"))); // NOI18N
jButtonEditar.setText("Editar");
jButtonEditar.setEnabled(false);
jButtonEditar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonEditarActionPerformed(evt);
}
});
jButtonExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/centraldeCredito/img/excluir.png"))); // NOI18N
jButtonExcluir.setText("Excluir");
jButtonExcluir.setEnabled(false);
jButtonExcluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonExcluirActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanelTitulo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jScrollPaneTabelaClientes, javax.swing.GroupLayout.DEFAULT_SIZE, 523, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jButtonEditar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonExcluir)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanelTitulo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPaneTabelaClientes, javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonExcluir)
.addComponent(jButtonEditar))
.addContainerGap())
);
}// </editor-fold>//GEN-END:initComponents
private void jButtonVisualizarTudoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonVisualizarTudoActionPerformed
// TODO add your handling code here:
jTextFieldPesquisa.setText("");
atualizaTabela(criaConsulta(jTextFieldPesquisa.getText()));
}//GEN-LAST:event_jButtonVisualizarTudoActionPerformed
private void jTextFieldPesquisaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldPesquisaKeyReleased
// TODO add your handling code here:
atualizaTabela(criaConsulta(jTextFieldPesquisa.getText()));
}//GEN-LAST:event_jTextFieldPesquisaKeyReleased
private void jToggleButtonTemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButtonTemActionPerformed
// TODO add your handling code here:
atualizaTabela(criaConsulta(jTextFieldPesquisa.getText()));
}//GEN-LAST:event_jToggleButtonTemActionPerformed
private void jToggleButtonIniciaComActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButtonIniciaComActionPerformed
// TODO add your handling code here:
atualizaTabela(criaConsulta(jTextFieldPesquisa.getText()));
}//GEN-LAST:event_jToggleButtonIniciaComActionPerformed
private void jToggleButtonTerminaComActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButtonTerminaComActionPerformed
// TODO add your handling code here:
atualizaTabela(criaConsulta(jTextFieldPesquisa.getText()));
}//GEN-LAST:event_jToggleButtonTerminaComActionPerformed
private void jTableClientesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTableClientesMouseClicked
// TODO add your handling code here:
int selRow = jTableClientes.getSelectedRow();
if (selRow > -1) {
int id = Integer.parseInt(
jTableClientes.getValueAt(selRow, 0).toString());
if (evt.getClickCount() > 1) {
centraldeCreditoTeste.cadastroClientesJPanel.editaRegistro(id);
centraldeCreditoTeste.exibeJInternalFrameCadastroClientes();
} else {
habilitaBotoes(true);
}
}
}//GEN-LAST:event_jTableClientesMouseClicked
private void jButtonEditarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonEditarActionPerformed
// TODO add your handling code here:
int selRow = jTableClientes.getSelectedRow();
if (selRow > -1) {
int id = Integer.parseInt(
jTableClientes.getValueAt(selRow, 0).toString());
centraldeCreditoTeste.cadastroClientesJPanel.editaRegistro(id);
centraldeCreditoTeste.exibeJInternalFrameCadastroClientes();
} // fim do if
}//GEN-LAST:event_jButtonEditarActionPerformed
private void jButtonExcluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExcluirActionPerformed
// TODO add your handling code here:
int selRow = jTableClientes.getSelectedRow();
if (selRow > -1) {
int id = Integer.parseInt(
jTableClientes.getValueAt(selRow, 0).toString());
int op = JOptionPane.showConfirmDialog(centraldeCreditoTeste,
"Tem certeza que deseja excluir ClientesID " + id + "?");
if (op == JOptionPane.YES_OPTION) {
centraldeCreditoTeste.cadastroClientesJPanel.excluiRegistro(id);
jTextFieldPesquisa.setText("");
atualizaTabela(criaConsulta(jTextFieldPesquisa.getText()));
} // fim do if op
} // fim do if selRow
}//GEN-LAST:event_jButtonExcluirActionPerformed
private void habilitaBotoes(boolean habilitado) {
jButtonEditar.setEnabled(habilitado);
jButtonExcluir.setEnabled(habilitado);
} // fim do metodo habilitaBotoes
protected void limpaSelecao() {
jTableClientes.getSelectionModel().clearSelection();
habilitaBotoes(false);
} // fim do metodo limpaSelecao
protected List<String> criaConsulta(String palavra) {
if (jToggleButtonTem.isSelected()) {
List<String> listKeys = dAO.pesquisar(palavra, 1);
return listKeys;
}
if (jToggleButtonIniciaCom.isSelected()) {
List<String> listKeys = dAO.pesquisar(palavra, 2);
return listKeys;
}
if (jToggleButtonTerminaCom.isSelected()) {
List<String> listKeys = dAO.pesquisar(palavra, 3);
return listKeys;
}
return null;
} // fim do metodo criaConsulta
protected final void atualizaTabela(List<String> listKeys) {
if (listKeys == null) {
listKeys = dAO.listaChaves();
}
String[][] values = new String[listKeys.size()][COLUNAS.length];
tableModel.removeRows();
Collections.sort(listKeys);
for (int i = 0; i < listKeys.size(); i++) {
values[i] = dAO.pesquisaPorID(listKeys.get(i));
tableModel.addRow(values);
}
limpaSelecao();
jTableClientes.getColumnModel().getColumn(0).setPreferredWidth(5);
jTableClientes.getColumnModel().getColumn(1).setPreferredWidth(100);
jTableClientes.getColumnModel().getColumn(2).setPreferredWidth(10);
jTableClientes.getColumnModel().getColumn(3).setPreferredWidth(20);
jTableClientes.getColumnModel().getColumn(4).setPreferredWidth(100);
jTableClientes.getColumnModel().getColumn(5).setPreferredWidth(100);
jTableClientes.getColumnModel().getColumn(6).setPreferredWidth(100);
jTableClientes.getColumnModel().getColumn(7).setPreferredWidth(10);
jTableClientes.getColumnModel().getColumn(8).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(9).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(10).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(11).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(12).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(13).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(14).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(15).setPreferredWidth(3);
jTableClientes.getColumnModel().getColumn(16).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(17).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(18).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(19).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(20).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(21).setPreferredWidth(3);
jTableClientes.getColumnModel().getColumn(22).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(23).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(24).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(25).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(26).setPreferredWidth(15);
jTableClientes.getColumnModel().getColumn(27).setPreferredWidth(3);
jTableClientes.getColumnModel().getColumn(28).setPreferredWidth(15);
jTableClientes.repaint();
} // fim do metodo atualizaTabela
protected void setFrame(CentraldeCreditoTeste frame) {
centraldeCreditoTeste = frame;
dAO = new ClientesDAOImp(frame.getMyProperties());
} // fim do metodo setFrame
} // fim da classe ConsultaClientesJPanel
Att,