Adicionar linha em JTable

2 respostas
leonardo_barres

A tarefa parece simples: Adicionar uma linha em um JTable. Fiz isso da seguinte maneira:

DefaultTableModel modeloTabela = new DefaultTableModel(); JTable tabela = new JTable(modeloTabela); String[] linha = {"","","","",""}; modeloTabela.addRow(linha);

Deu certo e consegui adicionar uma linha. Porém, apareceu o seguinte problema ao fazer os testes. Ao clicar no botão para adicionar uma linha, a célula que estava sendo editada tinha o seu valor apagado e uma nova linha era adicionada.

Alguém sabe como faço para não apagar essa célula?

2 Respostas

T
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;


public class Tabela extends JFrame {
	private JTable tabela;
	private JScrollPane scroll;
	private JButton cmdadicionar;
	private DefaultTableModel modelo;


	public Tabela() {
		super();
	
		cmdadicionar = new JButton("Adicionar");
		tabela = new JTable(new DefaultTableModel(0,4));
		scroll = new JScrollPane(tabela);
		modelo = (DefaultTableModel) tabela.getModel();

		getContentPane().add(cmdadicionar,BorderLayout.NORTH);
		getContentPane().add(scroll,BorderLayout.CENTER);
		
		setBounds(20,20,400,400);
		setVisible(true);

		cmdadicionar.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				String[] linha = new String[4];  
				
				for (int i=0;i < 4;i++) {
					linha[i] = JOptionPane.showInputDialog("");

				}
				modelo.addRow(linha); 

			}
		});
	}


	public static void main(String[] args) {
		new Tabela();
	}

}
leonardo_barres

Valeu aí, cara, funcionou direitinho!

Vlw!

Criado 15 de janeiro de 2008
Ultima resposta 18 de jan. de 2008
Respostas 2
Participantes 2