1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

como deixar celulas da JTable editavel.

Pessoal tenho uma JTable que quero qunado o usaruio clicar em qualquer linha dexar algumas linhas editaveis e,, tipo quando ele clicar numa coluna especifica ele poder apagar o valor e colocar o valor que ele quiser dai quero salvar essa linha no banco de dados;

a JTable é essa

https://www.filepicker.io/api/file/aVI9qFJS26y5qMDabJ5Q

Olha fiz um método num evento de clique de mouse da prorpia JTable mas não está dando certo o método é esse:

 private void editarTabela(){

        int linha = TblProdutos.getSelectedRow();

        if(linha != -1){

            TblProdutos.getModel().isCellEditable(linha, 1);
            TblProdutos.getModel().isCellEditable(linha, 2);
            TblProdutos.getModel().isCellEditable(linha, 3);
            TblProdutos.getModel().isCellEditable(linha, 4);
            TblProdutos.getModel().isCellEditable(linha, 5);
            TblProdutos.getModel().isCellEditable(linha, 6);
            TblProdutos.getModel().isCellEditable(linha, 7);
            TblProdutos.getModel().isCellEditable(linha, 8);


        }


    }

Como dito esse método é disparado quando clica na Jtable na linha selecionada;

so que não da certo as celular não ficam editaveis.

E outra coisa como usar o setValueAT para trocar o valor da celular para o valor que o usuario inserir para cada coluna, onde disparo o metodo, é numa perda de foco da coluna?

......desculpas as muitas perguntas ....ta muito confuso aqui..

Pessoal esse aqui é meu MODEL

package Modelo_Da_Tabela;

import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

public class Model extends AbstractTableModel {

    private ArrayList linhas = null;
    private String[] colunas = null;

    public Model(ArrayList lin, String[] col) {

        setLinhas(lin);
        setColunas(col);       

    }

    public void setLinhas(ArrayList linhas) {
        this.linhas = linhas;
    }

    public ArrayList getLinhas() {
        return linhas;
    }

    public void setColunas(String[] colunas) {
        this.colunas = colunas;
    }

    public String[] getColunas() {
        return colunas;
    }

    @Override
    public int getRowCount() {
        return linhas.size();
    }

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public Object getValueAt(int numLinhas, int numColunas) {

        Object[] linhas = (Object[]) getLinhas().get(numLinhas);

        return linhas[numColunas];

    }

    @Override
    public String getColumnName(int numColumn) {

        return colunas[numColumn];

    }

    public void remove(int indexlinha){

        if(indexlinha<linhas.size()){

            linhas.remove(indexlinha);
            fireTableRowsDeleted(indexlinha, indexlinha);        

        }      

    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {


        return false;
    }

}

como usar a edicao de linhas da jTable nele?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.