Preencher JTable com arquivo txt

14 respostas
F

Meus amigos do forum,

Fiz o seguinte código: tenho um arquivo txt com ; O código abaixo lê o arquivo e monta a JTable. Está acontecendo dois problemas:

1° Se coloco somente o nome, funciona, mas está pulando uma linha.
2° Se coloco o telefone, mostra o primeiro e da erro, estou usando o NetBeans 7

Não faço ideia do que está acontecendo.

try {
        BufferedReader reader = new BufferedReader(new FileReader("H:/Aqua/Agenda.txt"));
        String linha;
        String dados[] = null;
        
        JTable tabela = new JTable();
        DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
        modelo.setNumRows(0);
        
     //   List<ListaBean> lstb = new ArrayList<ListaBean>();
     //   ListaBean lb;
        for (int i = 0; ; i++) {
            linha = reader.readLine();
            if (linha == null) {
                break;
            }
            dados = linha.split(";");
            
            Object[] objetos = new Object[2];
            objetos[0]=dados[0];
            objetos[1]=dados[1];
            modelo.addRow(objetos);
            
            tabela.setModel(modelo);
            
         // modelo.addRow(new Object[]{dados[0]});
            }
                
    } catch (IOException iOException) {
}

Agradeço desde já,
Fred
[email removido]

14 Respostas

M

cara primeiro, coloca teu codigo acima em Tag Codes para poder visualizar o seu código, pois do jeito que tá fica complicado,
segundo coloca um printstacktrace() dentro do seu Try - Catch, e dai posta a exception que ele gerou, ajude-nos e a te ajudar!
fico aguardando

F

Pode me ajudar com essa sua dica?

M

poe isso antes do for
tabela.setModel(modelo);

e depois tira isso
modelo.addRow(new Object[]{dados[0]});

e poe isso
modelo.addRow(dados);

F

Deu certo agora, mas ta pulando uma linha. Uma linha em branco entre uma linha e outra.

M
tenta assim:
try {
			BufferedReader reader = new BufferedReader(new FileReader(
					"H:/Aqua/Agenda.txt"));

			JTable tabela = new JTable();
			DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
			modelo.setNumRows(0);
			tabela.setModel(modelo);
			String linha = "";
			while ((linha = reader.readLine()) != null) {
				modelo.addRow(linha.split("\\;"));
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
F

Ainda tá com a linha em branco.

M

ja olhou o arquivo que vc esta importando pra ver se ele nao possui linhas em branco?

F

O arquivo ta assim:

oi;123
eu;456
wwwwwwww;12345
Fred;9876
yyyyyyy;000000
ssssss;777777
yy;12345

M

nuss agora que vi, vc esta com duas jtables. estranho!
ve se assim resolve.

try {
			BufferedReader reader = new BufferedReader(new FileReader(
					"H:/Aqua/Agenda.txt"));

			DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
			modelo.setNumRows(0);
			jTable1.setModel(modelo);
			String linha = "";
			while ((linha = reader.readLine()) != null) {
				modelo.addRow(linha.split("\\;"));
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
F

Ainda com a linha em branco. Só tenho uma JTable. O arquivo txt é que tem duas colunas.

F

Como travo a edição da célula? Não deixar dar clique mas deixar selecionar.

F

Como que tiro o modo de edição do jTable? O que acontece é que quando dou dois cliques em uma linha qualquer, posso mudar o valor, queria travar isso. O código está acima.

Obrigado.

F
O código está num botão, esqueci de informar. O código é esse:
try {  
                BufferedReader reader = new BufferedReader(new FileReader(  
                        "H:/Aqua/Agenda.txt"));  
      
                DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();  
                modelo.setNumRows(0);  
                jTable1.setModel(modelo);  
                String linha = "";  
                while ((linha = reader.readLine()) != null) {  
                    modelo.addRow(linha.split("\\;"));  
                }  
            } catch (IOException e) {  
                e.printStackTrace();  
            }
F

Meus amigos, alguém pra me ajudar, estou parado nisso.

Criado 8 de dezembro de 2011
Ultima resposta 12 de dez. de 2011
Respostas 14
Participantes 3