双色球数据txt读入JTable

import java.awt.BorderLayout;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Vector;

import javax.swing.JTable;
import javax.swing.JFrame;
import javax.swing.JScrollPane;

/**
 * @author dukang
 * 思路:
 * 1.构建一个表table(rowData,col);rowData为每一行数据、col为每一列
 * 2.如何得到rowData与col?
 * 3.用Vector来表示存储rowData,col
 * 4.从文本文件ssq.txt,用FileReader套上BufferedReader来读取
 * 5.用while外层循环得到所有行,里面套for循环得到每一行
 */
public class Readssq {

	public static void main(String[] args) throws Exception {
		JFrame frame = new JFrame();
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    //-----------------------------------------每一列表头
	    Vector<String> col = new Vector<String>();
	    col.addElement("红球1");
	    col.addElement("红球2");
	    col.addElement("红球3");
	    col.addElement("红球4");
	    col.addElement("红球5");
	    col.addElement("红球6");
	    
	    Vector<Vector> rowData = new Vector<Vector>();//声明所有行
	    //----------------------------------------开始读文本文件
		FileReader reader = new FileReader("d:\\dukang\\ssq.txt");
		BufferedReader br = new BufferedReader(reader);

		String eachLine = null;//定义每一行
		while((eachLine = br.readLine()) != null){//读文件至末尾
			//-----split(String):根据给定正则表达式的匹配拆分此字符串。
			String[] temp = eachLine.split(" ");//每一行里的空格
			//-----声明每一行,必须在这里,外部是不行地。
			Vector<String> row = new Vector<String>();
			for(int i = 0; i < temp.length; i++){//遍历每一行
				row.add(temp[i]);//把每一行都加入row
			}
			rowData.add(row);//再把每一个row的数据给rowData
		}
		
		JTable table = new JTable(rowData, col);
		JScrollPane scrollPane = new JScrollPane(table);
	    frame.add(scrollPane, BorderLayout.CENTER);
	    frame.setSize(300, 150);
	    frame.setVisible(true);
	}
}


 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页