Ajuda com Jtable

1 resposta
N

olá pessoal tenho aqui um projeto do campeonato brasileiro com um arquivo com extensão .dat com rodadas, times, resultado, etc. a minha tarefa é fazer uma leitura de arquivo que gere automaticamente uma classificação a partir desse dados.

o código é esse:

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.Point;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import java.util.Collections;

import java.util.Comparator;

import java.util.Vector;
import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.JTableHeader;

public class Tabela {

/**
 * 
 */
public static void main(String[] args) {

	// DECLARAÇÃO DE VARIÁVEIS.
	int i = 0;

	int a = 0;

	String times;

	String[][] tabela = new String[20][10];

	String[] array = new String[i];

	String leitura = null;

	

	// FAZ A LEITURA DO ARQUIVO.
	try {
		BufferedReader in = new BufferedReader(
				new FileReader(
						"C:\\exemplos\\novo\\src\\dados.dat"));

		// COLOCA AS INFORMAÇÕES NAS COLUNAS.
		final Vector<Vector<String>> adiciona = new Vector<Vector<String>>();
		a = 0;
		while (in.ready()) {

			Vector<String> linhas = new Vector<String>();

			leitura = in.readLine();
			
			System.out.println("linha: " + leitura);

			array = leitura.split(" ");
			
			System.out.println("tamanho array: " + array.length);
//				linhas.add(array[0]);

//				linhas.add(array[1]);

//				linhas.add(array[2]);

//				linhas.add(array[3]);

//				linhas.add(array[4]);

//				linhas.add(array[6] + " X " + array[7]);

//				linhas.add(array[5]);

//				linhas.add(array[8]);

//				linhas.add(array[9]);

//				adiciona.add(linhas);
a--;
			a++;
		}

		// ADICIONA AS COLUNAS DA TABELA.
		Vector<String> colunas = new Vector<String>();

		colunas.add("Rodada ");
		colunas.add("Rodadas");
		colunas.add("Data");
		colunas.add("Hora");
		colunas.add("Time1");
		colunas.add("Resultado");
		colunas.add("Time2");
		colunas.add("Estadio");
		colunas.add("Cidade");

		// ADICIONA AS COLUNAS DOS TIMES.
		Vector<String> colunas2 = new Vector<String>();

		colunas2.add("Times ");
		colunas2.add("Pontos");
		colunas2.add("Rodadas");
		colunas2.add("Vitorias");
		colunas2.add("Empates");
		colunas2.add("Derrotas");
		colunas2.add("Gols Marcados");
		colunas2.add("Gols Sofridos");
		colunas2.add("Saldo de Gols");
		colunas2.add("%");

		// CRIA E ADICIONA NA A JTABEL.
		DefaultTableModel m = new DefaultTableModel(adiciona, colunas);

		DefaultTableModel m2 = new DefaultTableModel(colunas2, a);

		final JTable janela = new JTable(m);

		final JTable janela2 = new JTable(m2);

		// // PARA FAZER A ORDENAÇÃO DE QUALQUER COLUNA.
		// // pego o header da JTable
		// final JTableHeader h = janela.getTableHeader();
		
		 // adiciono o listener não a um botão, mas ao header
		//h.addMouseListener(new MouseAdapter() {
		 //public void mouseClicked(MouseEvent e) {
		 //final int colIndex = h.columnAtPoint(new Point(e.getX(), e
		 //.getY()));
		 //Collections.sort(adiciona, new Comparator() {
		 //public int compare(Object o1, Object o2) {
		 //Vector v1 = (Vector) o1;
		 //Vector v2 = (Vector) o2;
		// ao invés do índice fixo, uso o indice da coluna
		//
		// Comparable i1 = (Comparable) v1.get(colIndex);
		
		 //Comparable i2 = (Comparable) v2.get(colIndex);
		 //return i1.compareTo(i2);
		 //}
		 //});
		 //janela.repaint();
		 //}
		 //});

		
		
		
		JPanel bp = new JPanel(new GridLayout(1, 2));

		JFrame Janela = new JFrame();

		Janela.getContentPane().setLayout(new BorderLayout());

		Janela.getContentPane().add(new JScrollPane(janela),
				BorderLayout.NORTH);

		
		Janela.getContentPane().add(new JScrollPane(janela2),
				BorderLayout.CENTER);

		Janela.getContentPane().add(bp, BorderLayout.SOUTH);

		Janela.setSize(800, 600);

		Janela.setVisible(true);

		Janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		in.close();

	} catch (IOException e) {

		System.out.println("Arquivo não existe");

	}

}

}

e o arquivo .dat é esse :

1;38;10/maio;18h20;Vitória;Cruzeiro;0;2;Barradão;Salvador
1;38;10/maio;18h20;São;Paulo;Gremio;0;1;Morumbi;Sao_Paulo
1;38;10/maio;18h20;Náutico;Goias;2;1;Aflitos;Recife
1;38;10/maio;16h00;Internacional;Vasco;1;0;Beira_Rio;Porto_Alegre
1;38;10/maio;16h00;Coritiba;Palmeiras;2;0;Couto_Pereira;Curitiba
1;38;10/maio;16h00;Botafogo;Sport;2;0;Engenhão;Rio_de_Janeiro
1;38;10/maio;16h00;Ipatinga;Atlético-PR;0;1;Ipatingão;Ipatinga
1;38;10/maio;18h10;Flamengo;Santos;3;1;Maracanã;Rio_de_Janeiro
1;38;10/maio;18h10;Atlético-MG;Fluminense;0;0;Mineirão;Belo_Horizonte
1;38;10/maio;18h10;Portuguesa;Figueirense;5;5;Canindé;Sao_Paulo
2;38;17/maio;18h10;Cruzeiro;Botafogo;1;0;Mineirão;Belo_Horizonte
2;38;17/maio;18h10;Vasco;Portuguesa;3;1;São_Januário;Rio_de_Janeiro
2;38;17/maio;18h10;Sport;Vitória;0;0;Ilha_do_Retiro;Recife
2;38;18/maio;16h00;Grêmio;Flamengo;0;0;Olímpico;Porto_Alegre
2;38;18/maio;16h00;Atlético-PR;São-Paulo;Arena_da_Baixada;Curitiba
2;38;18/maio;16h00;Fluminense;Náutico;0;2;Maracanã;Rio_de_Janeiro
2;38;18/maio;16h00;Goiás;Atlético-MG;1;1;Serra_Dourada;Goiania
2;38;18/maio;18h10;Palmeiras;Internacional;2;1;Palestra_Itália;Sao_Paulo
2;38;18/maio;18h10;Santos;Ipatinga;4;0;Vila_Belmiro;Santos
2;38;18/maio;18h10;Figueirense;Coritiba;2;1;Orlando_Scarpelli;Florianopolis
3;38;24/maio;18h10;Grêmio;Náutico;2;0;Olímpico;Porto_Alegre
3;38;24/maio;18h10;Flamengo;Internacional;2;1;Maracanã; Rio_de_Janeiro
3;38;24/maio;18h10;Vitória;Figueirense;4;0;Barradão;Salvador
3;38;25/maio;16h00;Cruzeiro;Santos;4;0;Mineirão;Belo_Horizonte
3;38;25/maio;16h00;São;Paulo;Coritiba;11;Morumbi;Sao_Paulo
3;38;25/maio;16h00;Sport;Fluminense;2;1;Ilha_do_Retiro;Recife
3;38;25/maio;16h00;Goiás;Ipatinga;1;1;Serra_Dourada;Goiania
3;38;25/maio;18h10;Portuguesa;Palmeiras;1;1;Pacaembu;Sao_Paulo
3;38;25/maio;18h10;Atlético-PR;Atlético-MG;1;1;Arena_da_Baixada;Curitiba
3;38;25/maio;18h10;Botafogo;Vasco;1;1;Engenhão;Rio_de_Janeiro
4;38;31/maio;18h20;Vasco;Grêmio;2;1;São_Januário;Rio_de_Janeiro
4;38;31/maio;18h20;Internacional;Sport;1;1;Beira-Rio;Porto_Alegre
4;38;31/maio;18h20;Figueirense;Goiás;0;0;Orlando_Scarpelli;Florianopolis
4;38;01/junho;16h00;Náutico;Botafogo;3;0;Aflitos;Recife
4;38;01/junho;16h00;Santos;São;Paulo;0;0;Vila_Belmiro;Santos
4;38;01/junho;16h00;Coritiba;Cruzeiro;1;1;Couto_Pereira;Curitiba
4;38;01/junho;16h00;Ipatinga;Vitoria;2;0;Ipatingão;Ipatinga
4;38;01/junho;18h10;Palmeiras;Atlético-PR;1;0;Palestra_Itália;Sao_Paulo
4;38;01/junho;18h10;Atlético-MG;Portuguesa;2;0;Mineirão;Belo_Horizonte
4;38;01/junho;18h10;Fluminense;Flamengo;0;1;Maracanã;Rio_de_Janeiro
5;38;07/junho;18h20;São;Paulo;Atlético-MG;5;1;Morumbi;Sao;Paulo
5;38;07/junho;18h20;Flamengo;Figueirense;5;0;Maracanã;Rio_de_Janeiro
5;38;07/junho;18h20;Ipatinga;Náutico;0;0;Ipatingão;Ipatinga
5;38;08/junho;16h00;Atlético-PR;Goiás;5;0;Arena_da_Baixada;Curitiba
5;38;08/junho;16h00;Grêmio;Fluminense;2;1;Olímpico;Porto_Alegre
5;38;08/junho;16h00;Sport;Palmeiras;2;0;Ilha_do_Retiro;Recife
5;38;08/junho;16h00;Portuguesa;Internacional;3;1;Canindé;Sao_Paulo
5;38;08/junho;18h10;Vitória;Santos;1;0;Barradão;Salvador
5;38;08/junho;18h10;Cruzeiro;Vasco;1;0;Mineirão;Belo_Horizonte
5;38;08/junho;18h10;Botafogo;Coritiba;2;1;Engenhão;Rio_de_Janeiro
6;38;12/junho;20h30;Fluminense;Santos;1;1;Maracanã;Rio_de_Janeiro
6;38;12/junho;20h30;Palmeiras;Cruzeiro;5;2;Palestra_Itália;Sao_Paulo
6;38;12/junho;20h30;Atlético-MG;Ipatinga;4;2;Mineirão;Belo_Horizonte
6;38;14/junho;16h10;Flamengo;São;Paulo;2;4;Maracanã;Rio_de_Janeiro
6;38;14/junho;16h10;Internacional;Botafogo;2;1;Beira_Rio;Porto_Alegre
6;38;14/junho;16h10;Figueirense;Sport;3;1;Orlando_Scarpelli;Florianopolis
6;38;14/junho;18h20;Portuguesa;Atlético-PR;1;0;Canindé;Sao_Paulo
6;38;14/junho;18h20;Náutico;Vasco;1;1;Arruda;Recife
6;38;14/junho;18h20;Goiás;Grêmio;0;3;Serra_Dourada;Goiania
6;38;14/junho;18h20;Coritiba;Vitória;0;0;Couto_Pereira;Curitiba
7;38;21/junho;18h20;Botafogo;Portuguesa;0;1;Engenhão;Rio_de_Janeiro
7;38;21/junho;18h20;São;Paulo;Sport;1;0;Morumbi;Sao_Paulo
7;38;21/junho;18h20;Coritiba;Fluminense;2;1;Couto_Pereira;Curitiba
7;38;21/junho;18h20;Cruzeiro;Figueirense;3;0;Mineirão;Belo_Horizonte
7;38;22/junho;16h00;Ipatinga;Flamengo;1;3;Ipatingão;Ipatinga
7;38;22/junho;16h00;Vitória;Internacional;2;1;Barradão;Salvador
7;38;22/junho;16h00;Vasco;Palmeiras;0;2;São_Januário;Rio_de_Janeiro
7;38;22/junho;18h10;Grêmio;Atlético-PR;3;0;Olímpico;Porto_Alegre
7;38;22/junho;18h10;Santos;Goiás;0;4;Vila;Belmiro;Santos
7;38;22/junho;18h10;Náutico;Atlético-MG;2;1;Arruda;Recife
8;38;28/junho;18h20;Vasco;Ipatinga;4;2;São_Januário;Rio_de_Janeiro
8;38;28/junho;18h20;Portuguesa;Santos;0;0;Canindé;Sao_Paulo
8;38;28/junho;18h20;Vitória;;Goiás;3;0;Barradão;Salvador
8;38;29/junho;16h00;Figueirense;Atlético-MG;1;1;Orlando_Scarpelli;Florianopolis
8;38;29/junho;16h00;Sport;Flamengo;1;2;Ilha_do_Retiro;Recife
8;38;29/junho;16h00;Cruzeiro;São;Paulo;1;1;Mineirão;Belo_Horizonte
8;38;29/junho;16h00;Atlético-PR;Coritiba;1;1;Arena_da_Baixada;Curitiba
8;38;29/junho;18h20;Palmeiras;Náutico;2;0;Palestra_Itália;Sao_Paulo
8;38;29/junho;18h20;Fluminense;Botafogo;0;0;Maracanã;Rio_de_Janeiro
8;38;29/junho;18h10;Grêmio;Internacional;1;1;Olímpico;Porto_Alegre
9;38;5/julho;18h20;Atlético-PR;Santos;1;0;Arena_da_Baixada;Curitiba
9;38;5/julho;18h20;Flamengo;Náutico;3;0;Maracanã;Rio_de_Janeiro
9;38;5/julho;18h20;Sport;Cruzeiro;1;0;Ilha_do_Retiro;Recife
9;38;6/julho;16h00;Figueirense;Vasco;2;1;Orlando_Scarpelli;Florianopolis
9;38;6/julho;16h00;Atlético-MG;Palmeiras;1;1;Mineirão;Belo_Horizonte
9;38;6/julho;16h00;Portuguesa;Vitória;1;2;Canindé;Sao_Paulo
9;38;6/julho;16h00;Internacional;Coritiba;3;0;Beira-Rio;Porto_Alegre
9;38;6/julho;18h10;São;Paulo;Ipatinga;1;1;Morumbi;Sao_Paulo
9;38;6/julho;18h10;Goiás;Fluminense;1;0;Serra_Dourada;Goiania
9;38;6/julho;18h10;Botafogo;Grêmio;2;0;Engenhão;Rio_de_Janeiro
10;38;9/julho;19h30;Internacional;Goiás;1;0;Beira-Rio;Porto_Alegre
10;38;9/julho;19h30;Coritiba;Portuguesa;4;0;Couto_Pereira;Curitiba
10;38;9/julho;20h30;Fluminense;Atlético-PR;3;0;Maracanã;Rio_de_Janeiro
10;38;9/julho;20h30;Vitória;Botafogo;5;2;Barradão;Rio_de_Janeiro
10;38;9/julho;21h45;Santos;Grêmio;1;1;Vila_Belmiro;Santos
10;38;9/julho;21h45;Náutico;São;Paulo;2;1;Aflitos;Recife
10;38;9/julho;21h45;Atlético-MG;Flamengo;1;1;Mineirão;Belo_Horizonte
10;38;10/julho;20h30;Vasco;Sport;4;0;São_Januário;Rio_de_Janeiro
10;38;10/julho;20h30;Palmeiras;Figueirense;1;1;Palestra_Itália;Sao_Paulo
10;38;10/julho;20h30;Ipatinga;Cruzeiro;2;2;Ipatingão;Ipatinga
11;38;12/julho;18h20;Fluminense;Vitória;2;1;Maracanã;Rio_de_Janeiro
11;38;12/julho;18h20;Goiás;Coritiba;2;2;Serra_Dourada;Goiania
11;38;13/julho;16h00;São;Paulo;Palmeiras;2;1;Morumbi;Sao_Paulo
11;38;13/julho;16h00;Atlético-PR;Internacional;1;1;Arena_da_Baixada;Curitiba
11;38;13/julho;16h00;Santos;Botafogo;2;2;Vila_Belmiro;Santos
11;38;13/julho;16h00;Cruzeiro;Atlético-MG;2;1;Mineirão;Belo_Horizonte
11;38;13/julho;16h00;Ipatinga;Figueirense;0;1;Ipatingão;Ipatinga
11;38;13/julho;18h10;Grêmio;Portuguesa;2;1;Olímpico;Porto_Alegre
11;38;13/julho;18h10;Flamengo;Vasco;3;1;Maracanã;Rio_de_Janeiro
11;38;13/julho;18h10;Náutico;Sport;0;2;Aflitos;Recife
12;38;16/julho;19h30;Sport;Grêmio;2;2;Ilha_do_Retiro;Recife
12;38;16/julho;19h30;Botafogo;Ipatinga;4;0;Engenhão;Rio_de_Janeiro
12;38;16/julho;20h30;Portuguesa;Náutico;3;2;Canindé;Sao_Paulo
12;38;16/julho;20h30;Figueirense;Santos;3;0;Orlando_Scarpelli;Florianopolis
12;38;16/julho;21h45;Cruzeiro;Atlético-PR;1;0;Mineirão;Belo_Horizonte
12;38;16/julho;21h45;Palmeiras;Fluminense;3;1;Palestra-Itália;Sao_Paulo
12;38;16/julho;21h45;Vitória;São;Paulo;1;3;Barradão;Salvador
12;38;17/julho;20h30;Internacional;Atlético-MG;1;0;Beira-Rio;Porto_Alegre
12;38;17/julho;20h30;Coritiba;Flamengo;1;0;Couto_Pereira;Curitiba
12;38;17/julho;20h30;Vasco;Goiás;1;1;São_Januário;Rio_de_Janeiro
13;38;19/julho;18h20;Ipatinga;Portuguesa;4;1;Ipatingão;Ipatinga
13;38;19/julho;18h20;Fluminense;Figueirense;1;0;Maracanã;Rio_de_Janeiro
13;38;19/julho;18h20;Grêmio;Cruzeiro;1;0;Olímpico;Porto_Alegre
13;38;20/julho;16h00;Goiás;Palmeiras;3;2;Serra_Dourada;Goiania
13;38;20/julho;16h00;Santos;Sport;1;0;Vila_Belmiro;Santos
13;38;20/julho;16h00;Atlético-PR;Vasco;3;1;Arena_da_Baixada;Curitiba
13;38;20/julho;16h00;Náutico;Internacional;1;1;Aflitos;Recife
13;38;20/julho;18h10;São;Paulo;Botafogo;2;1;Morumbi;Sao_Paulo
13;38;20/julho;18h10;Flamengo;Vitória;0;1;Maracanã;Rio_de_Janeiro
13;38;20/julho;18h10;Atlético-MG;Coritiba;3;2;Mineirão;Belo_Horizonte
14;38;23/julho;19h30;Coritiba;Ipatinga;1;0;Couto_Pereira;Curitiba
14;38;23/julho;19h30;Cruzeiro;Goiás;0;1;Mineirão;Belo_Horizonte
14;38;23/julho;20h30;Vitória;Náutico;2;0;Barradão;Rio_de_Janeiro
14;38;23/julho;21h50;Internacional;São;Paulo;2;0;Beira-Rio;Porto_Alegre
14;38;23/julho;21h50;Botafogo;Atlético-MG;4;0;Engenhão;Rio_de_Janeiro
14;38;23/julho;21h50;Portuguesa;Flamengo;2;2;Canindé;Sao_Paulo
14;38;23/julho;21h50;Vasco;Fluminense;3;3;Maracanã;Rio_de_Janeiro
14;38;24/julho;20h30;Palmeiras;Santos;4;2;Palestra_Itália;Sao_Paulo
14;38;24/julho;20h30;Figueirense;Grêmio;1;7;Orlando;Scarpelli;Florianopolis
14;38;24/julho;20h30;Sport;Atlético-PR;1;0;Ilha;do;Retiro;Recife
15;38;26/julho;18h20;Fluminense;Cruzeiro;1;3;Maracanã;Rio_de_Janeiro
15;38;26/julho;18h20;Ipatinga;Internacional;1;0;Ipatingão;Ipatinga
15;38;26/julho;18h20;Náutico;Coritiba;1;2;Aflitos;Recife
15;38;27/julho;16h00;Grêmio;Palmeiras;1;1;Olímpico;Porto_Alegre
15;38;27/julho;16h;00;Santos;Vasco;5;2;Vila_Belmiro;Santos
15;38;27/julho;16h;00;Goiás;Sport;1;2;Serra_Dourada;Goiania
15;38;27/julho;16h;00;Atlético-PR;Figueirense;0;0;Arena_da_Baixada;Curitiba
15;38;27/julho;18h10;São_Paulo;Portuguesa;3;1;Morumbi;Sao_Paulo
15;38;27/julho;18h10;Atlético-MG;Vitória;2;1;Mineirão;Belo_Horizonte
15;38;27/julho;18h10;Flamengo;Botafogo;0;0;Maracanã;Rio_de_Janeiro
16;38;30/julho;19h30;Vitória;Atlético-PR;2;1;Barradão;Salvador
16;38;30/julho;19h30;Cruzeiro;Náutico;4;2;;Mineirão;Belo_Horizonte
16;38;30/julho;20h30;Portuguesa;Fluminense;3;1;Canindé;Sao_Paulo
16;38;30/julho;20h30;Botafogo;Goiás;2;0;Engenhão;Rio_de_Janeiro
16;38;30/julho;21h50;Internacional;Santos;0;1;Beira-Rio;Porto_Alegre
16;38;30/julho;21h50;Figueirense;São;Paulo;1;1;Orlando_Scarpelli;Florianopolis
16;38;30/julho;21h50;Palmeiras;Flamengo;1;0;Palestra_Itália;Sao_Paulo
16;38;31/julho;20h30;Coritiba;Grêmio;0;1;Couto_Pereira;Curitiba
16;38;31/julho;20h30;Vasco;Atlético-MG;6;1;São_Januário;Rio_de_Janeiro
16;38;31/julho;20h30;Sport;Ipatinga;3;1;Ilha;do;Retiro;Recipe
17;38;02/agosto;18h20;Fluminense;Internacional;1;2;Maracanã;Rio_de_Janeiro
17;38;02/agosto;18h20;Goiás;Portuguesa;4;0;Serra_Dourada;Goiania
17;38;02/agosto;18h20;Náutico;Figueirense;1;2;Aflitos;Recife
17;38;03/agosto;16h00;Flamengo;Cruzeiro;1;2;Maracanã;Rio_de_Janeiro
17;38;03/agosto;16h00;Ipatinga;Palmeiras;1;2;Ipatingão;Ipatinga
17;38;03/agosto;16h00;São;Paulo;Vasco;4;0;Morumbi;Sao_Paulo
17;38;03/agosto;16h00;Grêmio;Vitória;2;0;Olímpico;Porto_Alegre
17;38;03/agosto;18h10;Atlético-PR;Botafogo;0;3;Arena_da_Baixada;Curitiba
17;38;03/agosto;18h10;Santos;Coritiba;1;3;Vila_Belmiro;Santos
17;38;03/agosto;18h10;Atlético-MG;Sport;2;1;Mineirão;Belo_Horizonte
18;38;06/agosto;19h30;Grêmio;Ipatinga;1;0;Olímpico;Porto_Alegre
18;38;06/agosto;19h30;Vasco;Coritiba;0;2;São_Januário;Rio_de_Janeiro
18;38;06/agosto;20h30;Atlético-PR;Náutico;2;0;Arena_da_Baixada;Curitiba
18;38;06/agosto;20h30;Sport;Portuguesa;2;0;Ilha_do_Retiro;Recife
18;38;06/agosto;21h50;Santos;Atlético-MG;2;3;Vila_Belmiro;Santos
18;38;06/agosto;21h50;Goiás;Flamengo;2;1;Serra_Dourada;Goiania
18;38;06/agosto;21h50;Fluminense;São;Paulo;3;1;Maracanã;Rio_de_Janeiro
18;38;07/agosto;20h30;Figueirense;Botafogo;1;2;Orlando_Scarpelli;Florianapolis
18;38;07/agosto;20h30;Palmeiras;Vitória;3;0;Palestra_Itália;Sao_Paulo
18;38;07/agosto;20h30;Cruzeiro;Internacional;2;0;Mineirão;Belo_Horizonte
19;38;09/agosto;18h20;Flamengo;Atlético-PR;1;0;Maracanã;Rio_de_Janeiro
19;38;09/agosto;18h20;Atlético-MG;Grêmio;0;4;Mineirão;Belo_Horizonte
19;38;09/agosto;18h20;São;Paulo;Goiás;2;1;Morumbi;Sao_Paulo
19;38;10/agosto;16h00;Coritiba;Sport;3;0;Couto_Pereira;Curitiba
19;38;10/agosto;16h00;Botafogo;Palmeiras;1;0;Engenhão;Rio_de_Janeiro
19;38;10/agosto;16h00;Vitória;Vasco;5;0;Barradão;Salvador
19;38;10/agosto;16h00;Portuguesa;Cruzeiro;2;1;Canindé;Sao_Paulo
19;38;10/agosto;18h10;Ipatinga;Fluminense;2;1;Ipatingão;Ipatinga
19;38;10/agosto;18h10;Náutico;Santos;1;0;Aflitos;Recife
19;38;10/agosto;18h10;Internacional;Figueirense;1;1;Beira-Rio;Porto_Alegre
20;38;16/agosto;18h20;Figueirense;Portuguesa;2;1;Orlando_Scarpelli;Florianopolis
20;38;16/agosto;18h20;Atlético-PR;Ipatinga;5;0;Arena_da_Baixada;Curitiba
20;38;16/agosto;18h20;Cruzeiro;Vitória;2;1;Mineirão;Belo_Horizonte
20;38;17/agosto;16h00;Vasco;Internacional;4;0;São_Januário;Rio_de_Janeiro
20;38;17/agosto;16h00;Grêmio;São;Paulo;1;0;Olímpico;Porto_Alegre
20;38;17/agosto;16h00;Goiás;Náutico;3;0;Serra_Dourada;Goiania
20;38;17/agosto;16h00;Santos;Flamengo;2;2;Vila_Belmiro;Santos
20;38;17/agosto;18h10;Fluminense;Atlético-MG;1;0;Maracanã;Rio_de_Janeiro
20;38;17/agosto;18h10;Sport;Botafogo;0;1;Ilha_do_Retiro;Recife
20;38;17/agosto;18h10;Palmeiras;Coritiba;1;0;Palestra_Itália;Sao_Paulo
21;38;20/agosto;19h30;Vitória;Sport;0;0;Barradão;Salvador
21;38;20/agosto;19h30;Coritiba;Figueirense;3;0;Couto_Pereira;Curitiba
21;38;20/agosto;20h30;São_Paulo;Atlético-PR;3;1;Morumbi;Sao_Paulo
21;38;20/agosto;20h30;Botafogo;Cruzeiro;1;0;Engenhão;Rio_de_Janeiro
21;38;20/agosto;22h00;Internacional;Palmeiras;4;1;Beira-Rio;Porto_Alegre
21;38;20/agosto;22h00;Náutico;Fluminense;1;3;Aflitos;Recife
21;38;20/agosto;22h00;Ipatinga;Santos;1;1;Ipatingão;Ipatinga
21;38;21/agosto;20h30;Flamengo;Grêmio;2;1;Maracanã;Rio_de_Janeiro
21;38;21/agosto;20h30;Portuguesa;Vasco;0;1;Antônio_Guimarães;S.;Bárbara
21;38;21/agosto;20h30;Atlético-MG;Goiás;1;1;Mineirão;Belo_Horizonte
22;38;23/agosto;18h20;Fluminense;Sport;1;1;Maracanã;Rio_de_Janeiro
22;38;23/agosto;18h20;Figueirense;Vitória;1;2;Orlando_Scarpelli;Florianpolis
22;38;24/agosto;16h00;Internacional;Flamengo;1;1;Beira-Rio;Porto_Alegre
22;38;24/agosto;16h00;Coritiba;São;Paulo;2;2;Couto_Pereira;Curitiba
22;38;24/agosto;16h00;Ipatinga;Goiás;1;0;Ipatingão;Ipatinga
22;38;24/agosto;16h00;Santos;Cruzeiro;2;0;Vila_Belmiro;Porto_Alegre
22;38;24/agosto;16h00;Palmeiras;Portuguesa;4;2;Pacaembu;Sao_Paulo
22;38;24/agosto;18h10;Atlético-MG;Atlético-PR;4;0;Mineirão;Belo_Horizonte
22;38;24/agosto;18h10;Náutico;Grêmio;1;1;Aflitos;Recife
22;38;24/agosto;18h10;Vasco;Botafogo;1;1;Maracanã;Rio_de_Janeiro
23;38;30/agosto;18h20;Botafogo;Náutico;1;1;Engenhão;Rio_de_Janeiro
23;38;30/agosto;18h20;Vitória;Ipatinga;0;0;Barradão;Salvador
23;38;30/agosto;18h20;Goiás;Figueirense;2;0;Serra_Dourada;Goiania
23;38;31/agosto;16h00;Grêmio;Vasco;2;1;Olímpico;Porto_Alegre
23;38;31/agosto;16h00;Atlético-PR;Palmeiras;1;2;Arena_da_Baixada;Curitiba
23;38;31/agosto;16h00;Sport;Internacional;1;0;Ilha_do_Retiro;Recife
23;38;31/agosto;16h00;São_Paulo;Santos;0;0;Morumbi;Sao_Paulo
23;38;31/agosto;18h10;Flamengo;Fluminensev;2;2;Maracanã;Rio_de_Janeiro
23;38;31/agosto;18h10;Cruzeiro;Coritiba;1;1;Mineirão;Belo_Horizonte
23;38;31/agosto;18h10;Portuguesa;Atlético-MG;1;1;Canindé;Sao_Paulo
24;38;03/setembro;19h30;Goiás;Atlético-PR;0;2;Serra_Dourada;Goiania
24;38;03/setembro;22h00;Santos;Vitória;2;0;Vila_Belmiro;Santos
24;38;03/setembro;22h00;Figueirense;Flamengo;2;1;Orlando_Scarpelli;Florianopolis
24;38;03/setembro;22h00;Atlético-MG;São_Paulo;0;3;Mineirão;Belo_Horizonte
24;38;04/setembro;20h30;Vasco;Cruzeiro;0;2;São_Januário;Rio_de_Janeiro
24;38;04/setembro;20h30;Palmeiras;Sport;2;1;Palestra_Itália;Sao_Paulo
24;38;06/setembro;18h20;Fluminense;Grêmio;0;3;Maracanã;Rio_de_Janeiro
24;38;06/setembro;18h20;Internacional;Portuguesa;1;2;Beira-Rio;Porto_Alegre
24;38;06/setembro;18h20;Coritiba;Botafogo;3;1Couto_;Pereira;Curitiba
24;38;06/setembro;18h20;Náutico;Ipatinga;2;1;Aflitos;Recife
25;38;13/setembro;18h20;Grêmio;Goiás;;3;0;Olímpico;Porto_Alegre
25;38;13/setembro;18h20;Atlético-PR;Portuguesa;3;2;Arena_da_Baixada;Curitiba
25;38;13/setembro;18h20;Ipatinga;Atlético-MG1;2;Ipatingão;Ipatinga
25;38;14/setembro;16h00;São_Paulo;Flamengo;0;0;Morumbi;Sao_Paulo
25;38;14/setembro;16h00;Sport;Figueirense;2;1;Ilha_do_Retiro;Recife
25;38;14/setembro;16h00;Vasco;Náutico;0;0;São_Januário;Rio_de_Janeiro
25;38;14/setembro;16h00;Cruzeiro;Palmeiras;2;1;Mineirão;Belo_Horizonte
25;38;14/setembro;18h10;Botafogo;Internacional;1;3;Engenhão;Rio_de_Janeiro
25;38;14/setembro;18h10;Vitória;Coritiba;2;3;Barradão;Salvador
25;38;14/setembro;18h10;Santos;Fluminense;1;1;Vila-Belmiro;Santos
26;38;20/setembro;18h20;Fluminense;Coritiba;1;2;Maracanã;Rio_de_Janeiro
26;38;20/setembro;18h20;Atlético-MG;Náutico;0;0;Mineirão;Belo_Horizonte
26;38;20/setembro;18h20;Goiás;Santos;0;3;Serra_Dourada;Goiania
26;38;21/setembro;16h00;Palmeiras;Vasco;0;0;Palestra_Itália;Sao_Paulo
26;38;21/setembro;16h00;Atlético-PR;Grêmio;3;2;Arena_da_Baixada;Curitiba
26;38;21/setembro;16h00;Sport;São_Paulo;2;2;Ilha_do_Retiro;Recife
26;38;21/setembro;16h00;Figueirense;Cruzeiro;2;2;Orlando_Scarpelli;Florianopolis
26;38;21/setembro;18h10;Internacional;Vitória;0;0;Beira-Rio;Porto_Alegre
26;38;21/setembro;18h10;Flamengo;Ipatinga;0;2;Maracanã;Rio_de_Janeiro
26;38;21/setembro;18h10;Portuguesa;Botafogo;1;0;Canindé;Sao_Paulo
27;38;27/setembro;18h20;Goiás;Vitória;0;0;Serra_Dourada;Goiania
27;38;27/setembro;18h20;Flamengo;Sport;0;2;Maracanã;Rio_de_Janeiro
27;38;27/setembro;18h20;Atlético-MG;Figueirense;0;0;Mineirão;Belo_Horizonte
27;38;28/setembro;16h00;São_Paulo;Cruzeiro;2;3;Morumbi;Sao_Paulo
27;38;28/setembro;16h00;Coritiba;Altético-PR;3;2;Couto_Pereira;Curitiba
27;38;28/setembro;16h00;Náutico;Palmeiras;1;1;Aflitos;Recife
27;38;28/setembro;16h00;Ipatinga;Vasco;0;0;Ipatingão;Ipatinga
27;38;28/setembro;18h10;Botafogo;Fluminense;1;2;Maracanã;Rio_de_Janeiro
27;38;28/setembro;18h10;Internacional;Grêmio;2;3;Beira-Rio;Porto_Alegre
27;38;28/setembro;18h10;Santos;Portuguesa;2;0;Vila-Belmiro;Santos
28;38;01/outubro;20h30;Fluminense;Goiás;0;2;Maracanã;Rio_de_Janeiro
28;38;02/outubro;20h30;Vitória;Portuguesa;0;0;Barradão;Salvador
28;38;02/outubro;20h30;Cruzeiro;Sport;1;2;Mineirão;Belo_Horizonte
28;38;04/outubro;16h00;Náutico;Flamengo;0;0;Aflitos;Recife
28;38;04/outubro;16h00;Ipatinga;São_Paulo;1;2;Ipatingão;Ipatinga
28;38;04/outubro;16h00;Palmeiras;Atlético-MG;3;2;Palestra_Itália;Sao_Paulo
28;38;04/outubro;18h20;Grêmio;Botafogo;3;0;Olímpico;Porto_Alegre
28;38;04/outubro;18h20;Santos;Atlético-PR;0;3;Vila-Belmiro;Santos
28;38;04/outubro;18h20;Coritiba;Internacional;3;2;Couto_Pereira;Curitiba
28;38;04/outubro;18h20;Vasco;Figueirense;0;0;São_Januário;Rio_de_Janeiro
29;38;08/outubro;22h00;Grêmio;Santos;2;3;Olímpico;Porto_Alegre
29;38;08/outubro;22h00;Sport;Vasco;2;0;Ilha_do_Retiro;Recife
29;38;08/outubro;22h00;Figueirense;Palmeiras;0;2;Orlando_Scarpelli;Florianopolis
29;38;09/outubro;20h30;Botafogo;Vitória;1;1;Engenhão;Rio_de_Janeiro
29;38;09/outubro;20h30;Cruzeiro;Ipatinga;1;1;Mineirão;Belo_Horizonte
29;38;09/outubro;20h30;São_Paulo;Náutico;2;1;Morumbi;Sao_Paulo
29;38;11/outubro;18h20;Goiás;Internacional;3;2;Serra_Dourada;Goiania
29;38;11/outubro;18h20;Portuguesa;Coritiba;1;3;Canindé;Sao_Paulo
29;38;11/outubro;18h20;Atlético-PR;Fluminense;3;1;Arena_da_Baixada;Curitiba
29;38;11/outubro;18h20;Flamengo;Atlético-MG;0;0;Maracanã;Rio_de_Janeiro
30;38;18/outubro;18h20;Botafogo;Santos;0;0;Engenhão;Rio_de_Janeiro
30;38;18/outubro;18h20;Internacional;Atlético-PR;0;3;Beira-Rio;Porto_Alegre
30;38;18/outubro;18h20;Figueirense;Ipatinga;1;2;Orlando_Scarpelli;Florianopolis
30;38;19/outubro;16h00;A;definir;;Palmeiras;0;0;São_Paulo;Sao_Paulo
30;38;19/outubro;16h00;Vitória;Fluminense;0;0;Barradão;Salvador
30;38;19/outubro;16h00;Coritiba;Goiás;2;0;Couto_Pereira;Curitiba
30;38;19/outubro;16h00;Sport;Náutico;2;1;Ilha_do_Retiro;Recife
30;38;19/outubro;18h10;Portuguesa;Grêmio;2;2;Canindé;Sao_Paulo
30;38;19/outubro;18h10;Vasco;Flamengo;0;0;Maracanã;Rio_de_Janeiro
30;38;19/outubro;18h10;Atlético-MG;Cruzeiro;0;0;Mineirão;Belo_Horizonte
31;38;25/outubro;16h00;Fluminense;Palmeiras;0;2;Maracanã;Rio_de_Janeiro
31;38;25/outubro;16h00;Grêmio;Sport;3;0;Olímpico;Porto_Alegre
31;38;25/outubro;16h00;Goiás;Vasco;2;1;Serra_Dourada;Goiania
31;38;25/outubro;16h00;Santos;Figueirense;2;0;Vila-Belmiro;Santos
31;38;25/outubro;16h00;Atlético-PR;Cruzeiro;2;0;Arena_da_Baixada;Curitiba
31;38;25/outubro;16h00;Náutico;Portuguesa;0;0;Aflitos;Recife
31;38;25/outubro;16h00;Flamengo;Coritiba;;0;3;Maracanã;Rio_de_Janeiro
31;38;25/outubro;16h00;Ipatinga;Botafogo;0;0;Ipatingão;Ipatinga
31;38;25/outubro;16h00;Atlético-MG;Internacional;2;2;Mineirão;Belo_Horizonte
31;38;25/outubro;16h00;São_Paulo;Vitória;3;2;Morumbi;Sao_Paulo
32;38;29/outubro;20h30;Botafogo;;São_Paulo;0;2;Engenhão;Rio_de_Janeiro
32;38;29/outubro;20h30;Internacional;Náutico;2;0;Beira-Rio;Porto_Alegre
32;38;29/outubro;20h30;Vitória;Flamengo;2;1;Barradão;Salvador
32;38;29/outubro;20h30;Portuguesa;Ipatinga;1;0;Canindé;Sao_Paulo
32;38;29/outubro;20h30;Coritiba;Atlético-MG1;2;Couto_Pereira;Curitiba
32;38;29/outubro;20h30;Sport;Santos;2;3;Ilha_do_Retiro;Recife
32;38;29/outubro;20h30;Vasco;Atlético-PR;0;3;São_Januário;Rio_de_Janeiro
32;38;29/outubro;20h30;Figueirense;Fluminense;2;2;Orlando_Scarpelli;Florianopolis
32;38;29/outubro;20h30;Cruzeiro;Grêmio;2;1;Mineirão;Belo_Horizonte
32;38;29/outubro;20h30;Palmeiras;Goiás;2;3;Palestra_Itália;Sao_Paulo
33;38;02/novembro;16h00;Fluminense;Vasco;2;1;Maracanã;Rio_de_Janeiro
33;38;02/novembro;16h00;Grêmio;Figueirense;3;0;Olímpico;Porto_Alegre
33;38;02/novembro;16h00;Goiás;Cruzeiro;1;2;Serra_Dourada;Goiania
33;38;02/novembro;16h00;Santos;Palmeiras;2;1;Vila-Belmiro;Santos
33;38;02/novembro;16h00;Atlético-PR;Sport;3;0;Arena_da_Baixada;Curitiba
33;38;02/novembro;16h00;Náutico;Vitória;2;0;Aflitos;Recife
33;38;02/novembro;16h00;Flamengo;Portuguesa;0;2;Maracanã;Rio_de_Janeiro
33;38;02/novembro;16h00;Ipatinga;Coritiba;0;3;Ipatingão;Ipatinga
33;38;02/novembro;16h00;Atlético-MG;Botafogo;2;0;Mineirão;Belo_Horizonte
33;38;02/novembro;16h00;São_Paulo;Internacional;2;1;Morumbi;Sao_Paulo
34;38;09/novembro;16h00;Botafogo;Flamengo;0;2;Maracanã;Rio_de_Janeiro
34;38;09/novembro;16h00;Internacional;Ipatinga;0;0;Beira-Rio;Santos
34;38;09/novembro;16h00;Vitória;Atlético-MG;1;2;Barradão;Salvador
34;38;09/novembro;16h00;Portuguesa;São_Paulo;1;0;Canindé;Sao_Paulo
34;38;09/novembro;16h00;Coritiba;Náutico;2;1;Couto_Pereira;Curitiba
34;38;09/novembro;16h00;Sport;Goiás;3;1Ilha_do_Retiro;Recife
34;38;09/novembro;16h00;Vasco;Santos;1;2;São_Januário;Rio_de_Janeiro
34;38;09/novembro;16h00;Figueirense;Atlético-PR;1;3;Orlando_Scarpelli;Florianpolis
34;38;09/novembro;16h00;Cruzeiro;Fluminense;2;1;Mineirão;Belo_Horizonte
34;38;09/novembro;16h00;Palmeiras;Grêmio;0;2;Palestra_Itália;Sao_Paulo
35;38;16/novembro;16h00;Fluminense;Portuguesa;0;0;Maracanã;Rio_de_Janeiro
35;38;16/novembro;16h00;Grêmio;Coritiba;1;2;Olímpico;Porto_Alegre
35;38;16/novembro;16h00;Goiás;Botafogo;2;0;Serra_Dourada;Goiania
35;38;16/novembro;16h00;Santos;Internacional;0;0;Vila-Belmiro;Santos
35;38;16/novembro;16h00;Atlético-PR;Vitória;1;2;Arena_da_Baixada;Curitiba
35;38;16/novembro;16h00;Náutico;Cruzeiro;1;2;Aflitos;Recife
35;38;16/novembro;16h00;Flamengo;Palmeiras;1;2;Maracanã;Rio_de_Janeiro
35;38;16/novembro;16h00;Ipatinga;Sport;0;2;Ipatingão;Ipatinga
35;38;16/novembro;16h00;Atlético-MG;Vasco;1;0;Mineirão;Belo_Horizonte
35;38;16/novembro;16h00;São_Paulo;Figueirense;2;0;Morumbi;Sao_Paulo
36;38;23/novembro;16h00;Botafogo;Atlético-PR;0;1Engenhão;Rio_de_Janeiro
36;38;23/novembro;16h00;Internacional;Fluminense;2;0;Beira-Rio;Porto_Alegre
36;38;23/novembro;16h00;Vitória;Grêmio;1;2;Barradão;Salvador
36;38;23/novembro;16h00;Portuguesa;Goiás;1;3;Canindé;Sao_Paulo
36;38;23/novembro;16h00;Coritiba;Santos;3;2;Couto_Pereira;Curitiba
36;38;23/novembro;16h00;Sport;;Atlético-MG;1;2;Ilha_do_Retiro;Recife
36;38;23/novembro;16h00;Vasco;São_Paulo;1;2;São_Januário;Rio_de_Janeiro
36;38;23/novembro;16h00;Figueirense;Náutico;2;0;Orlando_Scarpelli;Florianopolis
36;38;23/novembro;16h00;Cruzeiro;Flamengo;2;0;Mineirão;Belo_Horizonte
36;38;23/novembro;16h00;Palmeiras;Ipatinga;2;0;Palestra_Itália;Sao_Paulo
37;38;30/novembro;16h00;Botafogo;Figueirense;1;3;Engenhão;Rio_de_Janeiro
37;38;30/novembro;16h00;Internacional;Cruzeiro;1;2;Beira-Rio;Porto_Alegre
37;38;30/novembro;16h00;Vitória;Palmeiras;0;2;Barradão;Salvador
37;38;30/novembro;16h00;Portuguesa;Sport;1;2;Canindé;Sao_Paulo
37;38;30/novembro;16h00;Coritiba;Vasco;2;0;Couto_Pereira;Curitiba
37;38;30/novembro;16h00;Náutico;Atlético-PR;0;1;Aflitos;Recife
37;38;30/novembro;16h00;Flamengo;Goiás;0;3;Maracanã;Rio_de_Janeiro
37;38;30/novembro;16h00;Ipatinga;Grêmio;2;1;Ipatingão;Ipatinga
37;38;30/novembro;16h00;Atlético-MG;Santos;0;2;Mineirão;Belo_Horizonte
37;38;30/novembro;16h00;São_Paulo;Fluminense;2;3;Morumbi;Sao_Paulo
38;38;07/dezembro;16h00;Fluminense;Ipatinga;1;2;Maracanã;Rio_de_Janeiro
38;38;07/dezembro;16h00;Grêmio;;Atlético-MG;0;1;Olímpico;Porto_Alegre
38;38;07/dezembro;16h00;Goiás;São_Paulo;1;0;Serra_Dourada;Goiania
38;38;07/dezembro;16h00;Santos;Náutico;2;0;;Vila-Belmiro;Santos
38;38;07/dezembro;16h00;Atlético-PR;Flamengo;1;0;Arena_da_Baixada;Curitiba
38;38;07/dezembro16h00;;Sport;Coritiba;1;2;Ilha_do_;Retiro;Recife
38;38;07/dezembro;16h00;Vasco;Vitória;0;5;São_Januário;Rio_de_Janeiro
38;38;07/dezembro;16h00;Figueirense;Internacional;0;1;Orlando_Scarpelli;Florianapolis
38;38;07/dezembro;16h00;Cruzeiro;Portuguesa;3;1;Mineirão;Belo_Horizonte
38;38;07/dezembro;16h00;Palmeiras;Botafogo;2;0;Palestra_Itália;Sao_Paulo

1 Resposta

C

Cara eu fiz um pouco diferente, usando mais OO as vezes facilita as coisas.
Só a parte da leitura do arquivo eu usei como se fosse TXT, pois nao tenho o arquivo binario em DAT.
Vi que o conteudo do arquivo não segue um padrão, dai as linha na tabela aparecem com ERRO.

Da uma olhada falou, até

import java.awt.Dimension;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumnModel;

/**
 *
 * @author cw
 */
public class Tabela extends JTable
{
    private String file_txt = System.getProperty( "user.home") + File.separator + "tabela.txt";
    private Vector<Rodada> items = new Vector();
    private RodadaTableModel tableModel = new RodadaTableModel();
    
    /**
     *
     */
    public static void main( String[] args )
    {
        JFrame frame = new JFrame();
        JScrollPane scroll = new JScrollPane();        
        Tabela tabela = new Tabela();
        
        scroll.getViewport().add( tabela );
        
        frame.getContentPane().add( scroll );
        
        frame.setSize( new Dimension( 800, 500 ) );
        
        frame.setVisible( true );
        
        frame.setLocationRelativeTo( null );
        
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        
        tabela.lerArquivo();
        
        tabela.updateTable();
    }

    public Tabela()
    {
        setModel( tableModel );
        setRowHeight( 18 );
        setSelectionMode( ListSelectionModel.SINGLE_SELECTION );        
        
        TableColumnModel cm = getColumnModel();
        
        cm.getColumn( 0 ).setPreferredWidth( 20 );
        cm.getColumn( 0 ).setMaxWidth( 25 );
        cm.getColumn( 1 ).setPreferredWidth( 20 );
        cm.getColumn( 1 ).setMaxWidth( 25 );
        cm.getColumn( 2 ).setPreferredWidth( 50 );
        cm.getColumn( 2 ).setMaxWidth( 55 );
        cm.getColumn( 3 ).setPreferredWidth( 50 );
        cm.getColumn( 3 ).setMaxWidth( 55 );
        cm.getColumn( 4 ).setPreferredWidth( 200 );
        cm.getColumn( 4 ).setMaxWidth( 205 );
        cm.getColumn( 5 ).setPreferredWidth( 110 );
        cm.getColumn( 5 ).setMaxWidth( 115 );
        cm.getColumn( 6 ).setPreferredWidth( 120 );
        cm.getColumn( 6 ).setMaxWidth( 125 );
    }
    
    public void lerArquivo()
    {
        try
        {
            FileInputStream fis = new FileInputStream( file_txt );
            BufferedInputStream bis = null;
            DataInputStream dis = null;

            bis = new BufferedInputStream( fis );
            dis = new DataInputStream( bis );
           
            while ( dis.available() != 0 )
            {
                criaRodada( dis.readLine() );
            }

            // dispose all the resources after using them.
            fis.close();
            bis.close();
            dis.close();
        }
        catch ( FileNotFoundException ex )
        {
            Logger.getLogger( BinaryFile.class.getName() ).log( Level.SEVERE , null , ex );
        }        
        
        catch ( IOException ioe )
        {
            ioe.printStackTrace();
        }
    }
    
    public void updateTable()
    {
        tableModel.setItems( items );
    }
    
    public void criaRodada( String value )
    {
        Rodada rodada = new Rodada();
        
        String[] values = value.split( ";" );
        
        if ( values.length == 10 )
        {
            rodada.setRodada_nr( values[0] );
            rodada.setNumero( values[1] );
            rodada.setData( values[2] );
            rodada.setHora( values[3] );
            rodada.setTime1( values[4] );
            rodada.setTime2( values[5] );
            rodada.setGolTime1( values[6] );
            rodada.setGolTime2( values[7] );
            rodada.setEstadio( values[8] );
            rodada.setCidade( values[9] );
        }
        
        else
        {
            rodada.setRodada_nr( "ERRO" );
            rodada.setNumero( "ERRO" );
            rodada.setData( "ERRO" );
            rodada.setHora( "ERRO" );
            rodada.setTime1( "ERRO" );
            rodada.setTime2( "ERRO" );
            rodada.setGolTime1( "ERRO" );
            rodada.setGolTime2( "ERRO" );
            rodada.setEstadio( "ERRO" );
            rodada.setCidade( "ERRO" );            
        }
            
        items.add( rodada );
    }
    
    public class RodadaTableModel extends AbstractTableModel
    {
        private final static int COL_RODADA = 0;
        private final static int COL_NUMERO = 1;
        private final static int COL_DATA = 2;
        private final static int COL_HORA = 3;
        private final static int COL_CONFRONTO = 4;
        private final static int COL_ESTADIO = 5;
        private final static int COL_CIDADE = 6;
        
        private String[] COLUMNS = 
        {
            "Nr",
            "Valor",
            "Data",
            "Hora",
            "Confronto",
            "Estadio",
            "Cidade"
        };
        
        private Vector<Rodada> rodadas = new Vector();
        
        public int getRowCount()
        {
            return rodadas.size();
        }

        public int getColumnCount()
        {
            return COLUMNS.length;
        }

        @Override
        public String getColumnName( int column )
        {
            return COLUMNS[column];
        }
        
        public Object getValueAt( int rowIndex , int columnIndex )
        {
            Rodada rodada = ( Rodada ) getItem( rowIndex );
            
            Object value = null;
            
            switch( columnIndex )
            {
                case COL_RODADA:
                    value = rodada.getRodada_nr();
                    break;
                    
                case COL_NUMERO:
                    value = rodada.getNumero();
                    break;
                    
                case COL_DATA:
                    value = rodada.getData();
                    break;
                    
                case COL_HORA:
                    value = rodada.getHora();
                    break;
                    
                case COL_CONFRONTO:
                    value = criaConfronto( rodada );
                    break;
                    
                case COL_ESTADIO:
                    value = rodada.getEstadio();
                    break;
                    
                case COL_CIDADE:
                    value = rodada.getCidade();
                    break;
            }
            
            return value;
        }
        
        public void setItems( Vector<Rodada> items )
        {
            rodadas.removeAllElements();
            
            rodadas.addAll( items );
            
            fireTableDataChanged();
        }
        
        public Object getItem( int row )
        {
            return rodadas.elementAt( row );
        }
        
        private String criaConfronto( Rodada rodada )
        {
            String confronto = null;
            
            confronto = rodada.getTime1() + " " + rodada.getGolTime1() +
                        " X " +
                        rodada.getGolTime2() + " " + rodada.getTime2() ;
            
            return confronto;
        }
        
    }
    
    public class Rodada
    {
        private String rodada_nr;
        private String numero;
        private String data;
        private String hora;
        private String time1;
        private String time2;
        private String golTime1;
        private String golTime2;
        private String estadio;
        private String cidade;

        public String getRodada_nr()
        {
            return rodada_nr;
        }

        public void setRodada_nr( String rodada_nr )
        {
            this.rodada_nr = rodada_nr;
        }

        public String getNumero()
        {
            return numero;
        }

        public void setNumero( String numero )
        {
            this.numero = numero;
        }

        public String getData()
        {
            return data;
        }

        public void setData( String data )
        {
            this.data = data;
        }

        public String getHora()
        {
            return hora;
        }

        public void setHora( String hora )
        {
            this.hora = hora;
        }

        public String getTime1()
        {
            return time1;
        }

        public void setTime1( String time1 )
        {
            this.time1 = time1;
        }

        public String getTime2()
        {
            return time2;
        }

        public void setTime2( String time2 )
        {
            this.time2 = time2;
        }

        public String getGolTime1()
        {
            return golTime1;
        }

        public void setGolTime1( String golTime1 )
        {
            this.golTime1 = golTime1;
        }

        public String getGolTime2()
        {
            return golTime2;
        }

        public void setGolTime2( String golTime2 )
        {
            this.golTime2 = golTime2;
        }

        public String getEstadio()
        {
            return estadio;
        }

        public void setEstadio( String estadio )
        {
            this.estadio = estadio;
        }

        public String getCidade()
        {
            return cidade;
        }

        public void setCidade( String cidade )
        {
            this.cidade = cidade;
        }
    }
}
Criado 8 de setembro de 2008
Ultima resposta 8 de set. de 2008
Respostas 1
Participantes 2