JTable não editável porém clicável

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]

Voce tem que aprender a trabalhar com o Model da JTable. E após aprender a usar o DefaultTableModel implemente o seu proprio ou entao procura algum que ja implementaram.

Use um TableModel para preencher os dados da sua JTable. Para que ela não seja editável, o método isCellEditable() do TableModel deve retornar false:

http://java.sun.com/javase/6/docs/api/javax/swing/table/TableModel.html#isCellEditable(int,%20int)