Alguém resolve?

Alguém consegue resolver este problema ???

[code]
import java.awt.;
import javax.swing.
;
import java.awt.event.*;

public class SimpleTable extends JFrame {
JTable jt;
public SimpleTable() {
super(“Simple JTable Test”);
setSize(300, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);

jt = new JTable(new String[][] { {"This", "is"}, {"a", "Test"} }, new String[] {"Column", "Header"});
JScrollPane jsp = new JScrollPane(jt);
getContentPane().add(jsp, BorderLayout.CENTER);
jt.addMouseListener(new MouseListener(){
       public void mouseClicked(MouseEvent e) {
             if(e.getClickCount()==1){
	            jt = new JTable(new String[][] { {"Consegui", "atualizar"}, {"os", "campos!!!"} }, new String[] {"Column", "Header"});
             }
     }

     public void mousePressed(MouseEvent e) {
     }

     public void mouseReleased(MouseEvent e) {
     }

     public void mouseEntered(MouseEvent e) {
     }
             
     public void mouseExited(MouseEvent e) {
     }

});

}

public static void main(String args[]) {
SimpleTable st = new SimpleTable();
st.setVisible(true);
}
}[/code]

Ao clicar em uma célula o valro dos campos deve ser alterado…

E não esta funfando… Alguma idéia???

Repara nesse trecho:

public void mouseClicked(MouseEvent e) { if(e.getClickCount()==1) { jt = new JTable(new String[][] { {"Consegui", "atualizar"}, {"os", "campos!!!"} }, new String[] {"Column", "Header"}); } }

se o evento é mouseClicked (!) então vc não precisa contar que ele deu 1 click…; ok! Depois. nota que você está redefinindo o objeto para que a variável jt faça referência. Ou seja, o objeto que você adicionou ao JScrollPane continua lá! Você não o removeu, e apenas apontou jt para uma nova instância de um JTable (que não tem nada a ver com o anterior)…; sacou? :wink:

Olha, tenta esse exemplo, que eu codei:

/* CelulaChata.java */

import java.awt.*;
import javax.swing.*;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class CelulaChata {

      public static void main(String[] argv) {

            final JFrame f = new TableFrame("Celulas que Contam Clicks!");

            Runnable runner = new Runnable() {
                  public void run() {
                        f.setVisible(true);
                  }
            };

            (new Thread(runner)).start();
      }

} // CelulaChata

class TableFrame extends JFrame {

      private JTable myTable;

      public TableFrame(String title) {

            setTitle(title);
            setSize(300, 150);
            setLocationRelativeTo(null);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            myTable = new JTable(
                  new String[][] { { "1", "1", "1", "1", "1" },
                                   { "1", "1", "1", "1", "1" },
                                   { "1", "1", "1", "1", "1" },
                                   { "1", "1", "1", "1", "1" } },
                  new String[] { "A", "B", "C", "D", "E" }
                  );

            myTable.addMouseListener(new MouseAdapter() {
                  public void mouseClicked(MouseEvent e) {
                        __incrementa__(e);
                  }
            });

            JScrollPane scroller = new JScrollPane(myTable);
            getContentPane().add(scroller, BorderLayout.CENTER);

      }

      private void __incrementa__(MouseEvent me) {

            int c = myTable.columnAtPoint(me.getPoint());
            int r = myTable.rowAtPoint(me.getPoint());



            String s_value = (String)myTable.getValueAt(r, c);
            int i_value = 0;

            System.out.println("Incrementando: col=" + c +
                               ", row=" + r +
                               ", value=" + s_value);

            try {
                  i_value = Integer.parseInt(s_value);
            }
            catch (NumberFormatException nfe) {}

            myTable.setValueAt("" + ++i_value, r, c);

      }

} // TableFrame

O código tá tosco, mas dá uma idéia!

Legal, entendi blz, mas por exemplo se vc recebesse uma tabela completa com todos os resultados ja prontos como resposta, como faria para efetuar a troca dos valores pelo da tabela nova???

Ou Tipo atualizar o frame com a nova tabela que foi retornada da função?

Ai a abordagem “pode” (e deveria) ser completamente diferente. Na verdade, o exemplo acima, é apenas um “brinquedo” e pode, muito bem, ser usado em diálogos simples que funciona bunitinho.

Pro que você tá querendo, então deveria implementar o seu próprio modelo de tabela (TableModel). Dá uma estudada sobre a interface TableModel e a classe AbstractTableModel. É molinho.