Editar banco de dados direto da jTable

3 respostas
C

Pessoal preciso de uma jTable que ao fazer alterações ela edite direto no banco de dados, sem tem jText pata aulixiar.

Vi que tem a opção VINCULAR que a Jtable carrega já com os dados da tabela, é possivel editar direto?

3 Respostas

drsmachado

Use o exemplo (modelo) do netbeans, ele implementa algo semelhante ao que você procura

C

Onde acho esse exemplo modelo?

C

Achei esse código em um forum, mais não consegui entender, se alguém puder "traduzir" pra mim, ou me informar se é esse o caminho.

table.getModel().addTableModelListener(new MyTableModelListener(table));

public class MyTableModelListener implements TableModelListener {
    JTable table;

    // It is necessary to keep the table since it is not possible
    // to determine the table from the event's source
    MyTableModelListener(JTable table) {
        this.table = table;
    }

    public void tableChanged(TableModelEvent e) {
        int firstRow = e.getFirstRow();
        int lastRow = e.getLastRow();
        int mColIndex = e.getColumn();

        switch (e.getType()) {
          case TableModelEvent.INSERT:
            // The inserted rows are in the range [firstRow, lastRow]
            for (int r=firstRow; r<=lastRow; r++) {
                // Row r was inserted
            }
            break;
          case TableModelEvent.UPDATE:
            if (firstRow == TableModelEvent.HEADER_ROW) {
                if (mColIndex == TableModelEvent.ALL_COLUMNS) {
                    // A column was added
                } else {
                    // Column mColIndex in header changed
                }
            } else {
                // The rows in the range [firstRow, lastRow] changed
                for (int r=firstRow; r<=lastRow; r++) {
                    // Row r was changed

                    if (mColIndex == TableModelEvent.ALL_COLUMNS) {
                        // All columns in the range of rows have changed
                    } else {
                        // Column mColIndex changed
                    }
                }
            }
            break;
          case TableModelEvent.DELETE:
            // The rows in the range [firstRow, lastRow] changed
            for (int r=firstRow; r<=lastRow; r++) {
                // Row r was deleted
            }
            break;
        }
    }
}
Criado 9 de maio de 2011
Ultima resposta 9 de mai. de 2011
Respostas 3
Participantes 2