JTable

3 respostas
S

Ola galera estou com uma duvida e vou compartilhar com vocês a procura de uma solução ou alguma ideia construtiva que possa solucionar meu problema.

Tenho uma jtable com 3 colunas e umas 20 linhas de informacao, e precisava que em um ActionPerfomed de um jbutton ele pega-se as linhas e colunas e transforma-se em um txt na mesma ordem da jtable… nao sei se isso é dificil mas estou no aguardo de ajuda obrigado pela atencao.

3 Respostas

WendersonLP

Uma coisa que irá te ajudar bastante é você extender a classe AbstractTableModel. Você extendendo
essa classe terá um controle maior sobre sua tabela e poderá pegar essas informações linha à linha
com maior facilidade. Ou também colocar todas as linhas numa lista ficaria mais fácil.

Seque um exemplo simples:

class ProdutoListModel extends AbstractListModel {

        private ArrayList<String> lista_produtos;

        public ProdutoListModel (ArrayList<String> lista) {
            this.lista_produtos = new ArrayList<String>(lista);
        }

        public ProdutoListModel() {
            this.lista_produtos = new ArrayList<String>();
        }

        public void adiciona(String elemento) {
            this.lista_produtos.add(elemento);
            fireIntervalAdded(this, this.lista_produtos.size() - 1, this.lista_produtos.size() - 1);
        }

        public void remove(int indice) {
            this.lista_produtos.remove(indice);
            fireIntervalRemoved(this, indice, indice);
        }

        public int getSize() {
            return this.lista_produtos.size();
        }

        public Object getElementAt(int index) {
            return this.lista_produtos.get(index);
        }
    }
S

vlw pela força, porém meu problema continua …
Precisava pegar as linhas de uma jtable e transformar em um txt

JoaoBluSCBR

Creio que adaptando isso voce consegue:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { TableModel tb = jTable1.getModel(); String texto1 = ""; for(int i = 0; i < tb.getRowCount();i++){ for( int j = 0; j < tb.getColumnCount(); j++) { texto1 += "|" + (String)tb.getValueAt(i, j); } texto1 += "\n"; } salvarTextoNoArquivo(texto1); }

Só não peça para saber como salvar um arquivo texto. Isso ja seria apelacao, pois tem post demais sobre isso.

Criado 3 de outubro de 2011
Ultima resposta 4 de out. de 2011
Respostas 3
Participantes 3