Tentei tentei e o maximo que consegui é que apareca false ou true e quando eu clico na coluna aperece o checkbox selecionado ou em branco e logo apos o click ele volta false ou true, se alguem puder dar uma olhada no codigo fico grato.
private static void displayDatabaseRecords(ResultSet rS) throws SQLException {
boolean moreRecords = rS.next();
if (!moreRecords) {
}
try {
ResultSetMetaData rs = rS.getMetaData();
gridColumns.addElement("");
for (int i = 1; i <= rs.getColumnCount(); ++i)
gridColumns.addElement(rs.getColumnName(i));
do {
gridRows.addElement(getNextRow(rS,rs));
} while (rS.next());
jTable1 = new JTable(gridRows, gridColumns) {
public Component prepareRenderer(TableCellRenderer renderer,
int rowIndex, int vColIndex) {
Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex)) {
c.setBackground(Color.lightGray);
} else {
c.setBackground(getBackground());
}
return c;
}
};
JCheckBox jCheckBox1 = new JCheckBox();
jTable1.setDefaultEditor(Object.class, new DefaultCellEditor(jCheckBox1));
if (jComboBox2.getSelectedItem().equals("Apartamento")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(60);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("EDIFICIO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(60);
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("APTO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(60);
vColIndex = 5;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("SELEÇÃO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(60);
//jTable1.getColumnModel().getColumn(vColIndex).setCellEditor(new DefaultCellEditor(new JCheckBox()));
//JCheckBox jCheckBox1 = new JCheckBox();
//jTable1.setDefaultEditor(Object.class, new DefaultCellEditor(jCheckBox1));
}
else if (jComboBox2.getSelectedItem().equals("Residências")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("BAIRRO");
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CIDADE");
}
else if (jComboBox2.getSelectedItem().equals("Casas Comerciais")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("BAIRRO");
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CIDADE");
}
else if (jComboBox2.getSelectedItem().equals("Salas")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("EDIFICIO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("SALA");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
}
else if (jComboBox2.getSelectedItem().equals("Terrenos")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("BAIRRO");
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CIDADE");
}
else if (jComboBox2.getSelectedItem().equals("Chacaras, Sitios e Fazendas")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("BAIRRO");
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CIDADE");
}
else if (jComboBox2.getSelectedItem().equals("Imóveis Comerciais")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("BAIRRO");
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CIDADE");
}
else if (jComboBox2.getSelectedItem().equals("Barracões e Armazens")) {
int vColIndex = 0;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CODIGO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 1;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("ENDEREÇO");
vColIndex = 2;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("NUMERO");
jTable1.getColumnModel().getColumn(vColIndex).setMaxWidth(80);
vColIndex = 3;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("BAIRRO");
vColIndex = 4;
jTable1.getColumnModel().getColumn(vColIndex).setHeaderValue("CIDADE");
}
jTable1.setOpaque(true);
jTable1.setBackground(new java.awt.Color(255, 255, 255));
JScrollPane scroller = new JScrollPane(jTable1);
scroller.setBackground(new java.awt.Color(255, 255, 255));
scroller.setOpaque(true);
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setOpaque(true);
jTable1.setRowHeight(20);
jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable1.setRowSelectionAllowed(true);
jPanel1.add(scroller);
scroller.revalidate();
jTable1.revalidate();
//validate();
}
catch(SQLException sqlx) {
sqlx.printStackTrace();
}
}
private static Vector getNextRow(ResultSet rS, ResultSetMetaData rs) throws SQLException {
Vector currentRow = new Vector();
for (int i = 1; i <= rs.getColumnCount(); ++i)
if (rs.getColumnType(i) == Types.VARCHAR) {
currentRow.addElement(rS.getString(i));
}
else if (rs.getColumnType(i) == Types.INTEGER) {
currentRow.addElement(rS.getString(i));
}
else if (rs.getColumnType(i) == Types.DATE) {
currentRow.addElement(rS.getString(i));
}
else if (rs.getColumnType(i) == Types.BOOLEAN) {
currentRow.addElement(rS.getString(i));
}
currentRow.addElement(new Boolean(false));
return currentRow;
}
Um Abraço
Renato