Queria saber se tem como e se tiver, como faco p n permitir editar as celulas do JTable. Eu procurei no NetBeans e na api JTable e DefaultTableModel, mas n achei nd. No caso, so vai permitir selecao, edicao n, vlw.
Duvida JTable
6 Respostas
http://javaalmanac.com/egs/javax.swing.table/pkg.html
// Create a JTable that disallow edits
JTable table1 = new JTable() {
public boolean isCellEditable(int rowIndex, int vColIndex) {
return false;
}
};
// Create a JTable based on the same model as table1 but allows edits
JTable table2 = new JTable(table1.getModel());
// Create a model that disallows edits; JTable's using this model will not allow edits
TableModel model = new DefaultTableModel() {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
Dx ver se entendi: eu to criando a classe e sobrescrevendo o metodo isCellEditable(int, int) p retornar sempre false. Exato?
Obs: pensei q so podia sobrescrever qnd herdasse 1 classe ou implementasse 1 interface, fiquei meio sem entender este codigo, mas blz.
Esse exemplo é um exemplo de herança, mas com classes anônimas. Quando vc cria um objeto dessa maneira, é o mesmo que declarar uma nova subclasse do tipo especificado, mas sem um arquivo próprio de código fonte, e sem que seja possível referênciá-la em outro contexto que não o do código onde ela existe.
Exemplo:
Thread t = new Thread() {
public void run() {
System.err.println("Código em classe anônima...");
}
};
t.start();
A variável “t”, neste caso, é uma instância de uma subclasse de Thread - mas esta subclasse é anônima, isto é, não é declarada em nenhum lugar, apenas aqui, e usada temporariamente, ou seja, no escopo de execução deste código.
No exemplo da JTable, estão sendo criadas classes anônimas. Quando o código é compilado, gera arquivos .class para elas também. Esses arquivos são nomeados com “MinhaClass$1”… “MinhaClasse$2”… ou algo parecido.
Cya
Rodrigo
Ok, blz.
So p fechar o assunto, entao n existe 1 metodo setEditable(boolean) q faca isso diretamente no JTable, ou seja, eu vo ter q herdar e sobrescrever o metodo isCellEditable, correto?
Sim,
Ao menos eu sempre fiz desse jeito, e mesmo antes de te responder eu pesquisei um pouquinho e não encontrei nada diferente. Talvez esse seja um dos motivos pelos quais se reclama tanto de JTable na swing. 
Talvez existam outras implementações, open source, que sejam melhores. Não custa procurar um pouquino na ASF, ou no sourceforge.net
Rodrigo
Eh antes d perguntar eu tb pesquisei “um poucão” e tb n encotnrei, ehhe, vlw fera!