Boa Tarde!
Quero que a Jtable que eu criei fique não editável, porém quero que ela parmaneeça clicável.
Encontrei diversos códigos que faz isso, mas não de uma forma que me permite acrescentar no meu codigo.
Segue abaixo o código que criei para criar a Jtable.
Obrigado!
[code]public class TableGrade
{
private ResultSet res;
private JTable table;
public void setTable(BD con, String sql)
{
try
{
Vector cabecalho = new Vector();
Vector linhas = new Vector();
res = con.statement.executeQuery(sql);
res.next();
// busca os cabe�alhos
ResultSetMetaData rsmd = res.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); i++ )
cabecalho.addElement( rsmd.getColumnLabel( i ) );
// busca dados das linhas
do
{
Vector linhaAtual = new Vector();
DecimalFormat df = new DecimalFormat("R$ 00.00");
for ( int i = 1; i <= rsmd.getColumnCount(); i++ )
{
switch( rsmd.getColumnType(i))
{
case Types.VARCHAR:
linhaAtual.addElement(res.getString(i));break;
case Types.TIMESTAMP:
linhaAtual.addElement(res.getDate(i));break;
case Types.DOUBLE:
linhaAtual.addElement(""+res.getDouble(i));break;
case Types.INTEGER:
linhaAtual.addElement(""+res.getInt(i));break;
case Types.NUMERIC:
linhaAtual.addElement(""+df.format(res.getDouble(i)));break;
case Types.SMALLINT:
linhaAtual.addElement(""+res.getInt(i));break;
// default:System.out.println(rsmd.getColumnType(i));
case Types.DECIMAL:
linhaAtual.addElement(""+res.getDouble(i));break;
case Types.CHAR:
linhaAtual.addElement(""+res.getString(i));break;
}
}
linhas.addElement(linhaAtual);
}
while ( res.next() );
// Mostra a tabela com cabe�alhos e registros
table = new JTable( linhas, cabecalho );
table.setBackground(new Color(255,255,255));
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null, “Nenhum Registro encontrado”);
}
}
public JTable getTable()
{
return table;
}[/code]