Ajuda com JTable

2 respostas
J

Boa tarde pessoal,

Nunca tinha usado ainda JTable, dei uma lida aqui pelo forum e ví muita coisa, inclusive tutoriais, e o modelo para download feito pelo ViniGodoy, que com certeza é muito bom, mas eu não entendi como funciona(mas ja estou lendo os tutoriais sobre JTable do Swing, daqui do forum), mas por enquanto preciso de algo bem simples, quero apenas saber como popular a JTable com dados que eu ja tenho armazendos em um ArrayLis(que foi extraido de uma base .txt) e em outra JTable tenho que popular com dados de uma String(que fui retirando desta base e “juntando” com append do StringBuffer).

A tabela não precisa sofrer alterações depois de criada, na verdade ela só vai servir pra exibir de maneira organizada os dados de meu ArrayList, não preciso excluir linha(s), coluna(s), não preciso de inserção depois de criada, nada disso, apenas jogar os dados(que ja tenho) nela, mas agora fiquei em dúvida, acho que tenho que apagar sim, pois posso mostrar estes dados de mais de uma forma, por exemplo, seleciono um botão por exemplo pra mostrar todos os Filmes(meu ArrayList guarda filmes) e um outro botão mostrará todos os filmes do A.Hitchcoock, daí muitos sairiam desta listagem…

Grato,

2 Respostas

ViniGodoy

Poste:

a) A classe que está dentro do seu ArrayList;

b) O que você tentou fazer do tutorial que eu passei;

c) As dúvidas que você teve.
J

ViniGodoy:
Poste:

a) A classe que está dentro do seu ArrayList;

b) O que você tentou fazer do tutorial que eu passei;

c) As dúvidas que você teve.</blockquote>

Classe que lê o arquivo texto e “pega” somente o que me interessa:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;


public class BancoDados {

	public static ArrayList&lt;Filme&gt; carregaFilmes() {
		BufferedReader reader;
		ArrayList&lt;Filme&gt; aux = new ArrayList&lt;Filme&gt;();
		
		try{
			reader = new BufferedReader(new InputStreamReader(new FileInputStream("imdb-dados-new-utf8.txt"), "utf-8"));
			
			String linha = null;
			
            while ((linha = reader.readLine()) != null) {
            	String[] result = linha.split(";"); 
            	double nota = Double.parseDouble(result[0]);
            	String titulo = result[1];
            	int votos = Integer.parseInt(result[2].replaceAll(",", "").trim());
            	String url = result[3];
            	String diretor = result[4];
            	
            	aux.add(new Filme(nota, titulo, votos, url, diretor));
            }
		} 	catch(IOException e){
				System.out.println("Erro de e/s: " + e); 
			}
		return aux;
	}
}

Classe que tem métodos principais, um pra mostrar todos os diretores dos filmes e outro que mostra todos filmes de um determinado diretor(no caso coloquei pra informar parte inicial do nome do diretor…, mas não ta funcionando corretamente ainda)

import java.util.ArrayList;
import java.util.List;

public class CadFilmes{
	private ArrayList&lt;Filme&gt; listaFilmes;
	
	public CadFilmes() {
		listaFilmes = BancoDados.carregaFilmes();
		
	}
	
	public String filmePorDiretor(String nomeDiretor){
		StringBuffer diretor = new StringBuffer();
		
		for (Filme f : listaFilmes) {
			String dir = f.getNomeDiretor();
			if (dir.startsWith(nomeDiretor)){
				diretor.append(f.getNomeDiretor());
			}
		}
		return diretor.toString();
	}
	
	public String listaDiretores(){
		StringBuffer diretores = new StringBuffer();
		diretores.append("\n\t\t ..::: DIRETORES :::..\n\n\t------------------------------------------------------\n\n");		
		for (Filme f : listaFilmes) {
			diretores.append("\t" + f.getNomeDiretor());
		}
		return diretores.toString();
	}
}

A Classe da interface ta toda errada, eu tinha ela sem interface grafica, direto na tela, agora que quero pôr uma janelinha gráfica eu to apanhando um pouco… amanhã vo ver se continuo e posto aqui, agora to indo pra aula e não tenho mais tempo.

Grato,

Criado 12 de agosto de 2010
Ultima resposta 12 de ago. de 2010
Respostas 2
Participantes 2