NightDark 26 de set. de 2009
1. No seu TableModel acrescente isto:
public boolean isCellEditable(int row, int column) {
return false;
}
2. Use esté método:
jTable1 . setSelectionMode ( ListSelectionModel . SINGLE_SELECTION );
Se isto resolver não esqueça de adicionar ao Título - [RESOLVIDO]
pedroroxd 26 de set. de 2009
a 2) deu certo…
a 1) eu coloquei o método… e depois?
NightDark 26 de set. de 2009
depois você tenta fazer o obvio… testar se sua tabela está com as celulas editáveis ou não^^
pedroroxd 26 de set. de 2009
Tentei assim:
int x,y=0;
for(x=0;x<=jTable1.getColumnCount();x++) {
isCellEditable(x, y);
}
x=0;
for (y=0;y<=jTable1.getRowCount();y++) {
isCellEditable(x, y);
}
NightDark 26 de set. de 2009
Você usa DefaultTableModel???
Se usa, Leia sobre implementar AbstractTableModel, tem vários exemplos aqui no Fórum…
Na sua classe, sobrescreva o método isCellEditable(int row, int column) com o que eu te passei.
Pronto, é isso^^
pedroroxd 26 de set. de 2009
Blz…
Mas como que eu chamo ele?
jTable1.isCellEditable(0, 0);
NightDark 26 de set. de 2009
Não precisa, quem se encarrega disso é o seu TableModel, basta implementar…
Basta você usar este TableModel numa tabela que ela não vai permitir edição.
pedroroxd 26 de set. de 2009
o meu defaut table model ta dentro do refreshtabela():
private void refreshtabela() throws ClassNotFoundException, SQLException{
final DefaultTableModel modelo = new DefaultTableModel();
.
.
.
jTable1.setModel(modelo);
}
E depois tenho o isCellEditable:
public boolean isCellEditable(int row, int column) {
return false;
}
pedroroxd 26 de set. de 2009
Como que eu implementaria nesse caso?
NightDark 26 de set. de 2009
pedroroxd 26 de set. de 2009
Eu não uso AbstractTableModel O_o
NightDark 26 de set. de 2009
Bom, você perde muito por usar DefaultTableModel...
mais tá ai, com DefaultTableModel vc pode usar assim:
DefaultTableModel modelo = new DefaultTableModel( new Object[][] {{ "Linha 1" , "Linha 2" }} , new Object[] {"Coluna 1", "Coluna 2"} ) {
public boolean isCellEditable (int row, int col){
return false;
}
};
jTable1.setModel(modelo);
pedroroxd 26 de set. de 2009
Obrigado…
Resolveu