AbstractTableModel - Operaçoes

Olá, eu tenho uma Jtable (abstracttablemodel) e as linhas dela tem que ser editaveis, no caso isThisCellEdited tem q retornar true, e preciso fazer uma subtração do valor que eu coloquei nas celulas da tabela, com a quantidade que esta no banco de dados.
por Ex: eu coloco 50 na coluna azul e quando aperto o botao gerar ele tem que subtrair esses 50 por 20 q ja está no banco de dados.
Quais metodos devo inserir??

É só implementar o método setValueAt.

Nossa, finalmente encontrei vc vini hahaha, mandei ate msg na pag do face.
é o seguinte. na tabela, tem varias linhas, e 4 colunas que precisam fazer a subtração com o BD.
eu tenho que usar um for no metodo setvalueAT? pra percorrer as linhas e colunas?

[quote=shurtup]Nossa, finalmente encontrei vc vini hahaha, mandei ate msg na pag do face.
é o seguinte. na tabela, tem varias linhas, e 4 colunas que precisam fazer a subtração com o BD.
eu tenho que usar um for no metodo setvalueAT? pra percorrer as linhas e colunas? [/quote]

Veja, existem coisas diferentes:

a) O TableModel, que descreve como seus objetos de negócio são exibidos na tabela. Ele também descreve como um valor inserido na tabela deve afetar esses objetos;

b) Os seus objetos de negócio, que implementam lógica de negócio

c) Suas classes de persistência.

Não é papel do JTable ou do TableModel fazer essa subtração. Esse papel é das classes de negócio. No caso, ao pressionar o botão gerar, você só deveria pegar o List que está por trás do JTable e rodar nele alguma lógica de negócio. Algo como:

List<SuaClasse> objetos = seuModel.getObjetos(); for (SuaClasse objeto : objetos) { objeto.calcular(); } daoDaSuaClasse.salvar(objetos); seuModel.fireTableDataChanged();

Sobre o face, não atendo usuários por lá. As mensagens que me mandam lá são simplesmente ignoradas.

Entendi vini, desculpe-me hhaaha, sou bem iniciante no java e to a mais de 2 semanas tentando fazer isto.
Agora entendi, pensei que tinha algum metodo que fazia exatamente oq queria. mas agr entendi.
Esse for ai, so preciso colocar no meu botao chamando o metodo calcular ne?

[quote=shurtup]Entendi vini, desculpe-me hhaaha, sou bem iniciante no java e to a mais de 2 semanas tentando fazer isto.
Agora entendi, pensei que tinha algum metodo que fazia exatamente oq queria. mas agr entendi.
Esse for ai, so preciso colocar no meu botao chamando o metodo calcular ne?[/quote]

Esse código iria no método do botão. O calcular estaria no seu objeto.

Fica difícil te ajudar se você não mostrar nada do seu código. Como está implementado o TableModel, qual é a sua classe de negócios, etc.

Vini, mexi em algo e nao sei voltar mais,
minha tabela nao esta mais colocando o nome das colunas. ela carrega o conteudo do banco de dados, mas as colunas n tem os nomes

[code]public void preencherTabela() throws SQLException{
ArrayList dados = new ArrayList();
String [] Colunas = new String[]{“Ref”, “Nome”, “Azul”, “Lilás”, “Rosa”, “Verde”};

	conexao bd = new conexao();
	Connection Conn = bd.abrirBDConn();
	Statement statement = (Statement) Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
			ResultSet.CONCUR_READ_ONLY);
	try{
	ResultSet st = statement.executeQuery("select * from mappingbabybd.bolsa inner join cores on bolsa.ref = cores.bolsa_ref");

	while (st.next()) {

		dados.add( new Object[] { 
				

				st.getString("ref"),
				st.getString("nome"),
				st.getString("azul"),
				st.getString("lilas"),
				st.getString("rosa"),
				st.getString("verde"),
				});
				}
				}
		catch (Exception erro){
				JOptionPane.showMessageDialog(null, "Erro ao adicionar na tabela");
				erro.printStackTrace();

}
ProdutoTableModel modelo = new ProdutoTableModel(dados, Colunas);
tabela.setModel(modelo);

}[/code]

Geralmente o nome das colunas não aparece quando você esquece de colocar a tabela dentro de um JScrollPane.