/*
* Copyright 2002 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
/**
* An example showing the JTable with a dataModel that is not derived
* from a database. We add the optional TableSorter object to give the
* JTable the ability to sort.
*
* @version 1.3 10/14/97
* @author Philip Milne
*/
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSetMetaData;
import com.mysql.jdbc.Statement;
public class RelatTableModel
{
public TableModel getRelatTableModel ()
{
final String[] names = {
"Centro", "Incluir"
};
try{
Class.forName(drv);
con = (Connection) DriverManager.getConnection(url,usr,pwd);
stm = (Statement) con.createStatement();
ResultSet rs = stm.executeQuery("SELECT `cod` FROM `cad_custo`");
ResultSetMetaData rsmeta = (ResultSetMetaData)rs.getMetaData();
int ncolumns = rsmeta.getColumnCount();
list = new ArrayList();
while(rs.next()){
for(int i = 1; i<=ncolumns; i++){
list.add(rs.getObject(i));
}
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, "erro:" + e.getMessage());
}
final Object[][] data = new Object [list.size()][list.size()];
for(int j = 0; j < list.size(); j++){
data[j][0] = list.get(j);
data[j][1] = new Boolean(false);
}
TableModel dataModel = new AbstractTableModel() {
public int getColumnCount()
{
return names.length;
}
public int getRowCount()
{
return data.length;
}
public Object getValueAt(int row, int col)
{
return data[row][col];
}
public String getColumnName(int column)
{
return names[column];
}
public Class getColumnClass(int col)
{
return getValueAt(0, col).getClass();
}
public boolean isCellEditable(int row, int col)
{
return (col == 4);
}
public void setValueAt(Object aValue, int row, int column)
{
data[row][column] = aValue;
}
};
return dataModel;
}
private ArrayList list;
private static final String drv = "org.gjt.mm.mysql.Driver";
private static final String url = "jdbc:mysql://localhost:3306/test";
private static final String usr = "timeasybill";
private static final String pwd = "*03mezuza08";
private Connection con;
private Statement stm;
}
Só que tentei de todos os jeitos e não consigo fazer o checkbox ficar editável, ou seja, assinaldo ou não assinalado. Tentei ler vários posts do forum más realmente não consegui. Preciso de ajuda!
Ps. Utilizei o código conforme citado no cabeçalho e fiz algumas alterações.