import javax.swing.*;//我那个for循环是有问题的,我现在只是做了一个最基本的界面,程序可以编译通过并且运行,但是初始化有问题;我创建的那个表格怎么就加入不到窗体上去?
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Reader
{ public static void main(String args[])
{ new ReaderFrame();
}
}
class ReaderFrame extends JFrame
{ JTable table1;
File file;
Object name[]={"学号","姓名","性别","院系或ID"};
Object data[][];
JButton button1,button2,button3;
JTextField text1;
JTextArea area1;
LinkedList list1;
CardLayout card;
JPanel panel;
JToolBar tool;
String s1,s2;
FileReader fr;
BufferedReader br;
int i,j;
ReaderFrame()
{ text1=new JTextField(20);
button1=new JButton("按姓名查询");
button2=new JButton("前一页");
button3=new JButton("后一页");
panel=new JPanel();
card=new CardLayout();
tool=new JToolBar();
try{
file=new File("reader.txt");
fr=new FileReader(file);
br=new BufferedReader(fr);
}
catch(Exception ee){}
tool.add(button1);
tool.add(text1);
tool.add(button2);
tool.add(button3);
add(tool,"North");
add(panel,"Center");
//button1.addActionListener(this);
//button2.addActionListener(this);
//button3.addActionListener(this);
panel.setLayout(card);
setVisible(true);
setSize(500,500);
try{
for(i=0;i<15;i++)
{if((s1=br.readLine())!=null)
{ StringTokenizer fenxi=new StringTokenizer(s1,",");
for(j=0;j<4;j++)
{
s2=fenxi.nextToken();
data[i][j]=(Object)s2;
}
}
}
}catch(IOException ee){}
table1=new JTable(data,name);
panel.add("0",table1);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

解决方案 »

  1.   

    我们开学第一个礼拜搞工程实训,数据结构方面的,老师教的是用c#,但我更喜欢用java,
    还没有学数据库
      

  2.   

    就是帮看看那个for循环吧,就那里出了问题
      

  3.   

    可惜我同学都在用c#.net,没法请教了 
      

  4.   

    替换如下,首先要确定你读取的文件内容是如下格式***,****
    ******,****是这串代码有问题
     StringTokenizer fenxi=new StringTokenizer(s1,",");
    for(j=0;j<4;j++)
    {
    s2=fenxi.nextToken();
    data[i][j]=(Object)s2;
      

  5.   

    我想不通你用这个类StringTokenizer做什么
      

  6.   

    你的jtable无法显示因为你只是在你创建的panel里面加入了这个表格,但是在JFrame里面显示这个panel的代码在哪里我没有看到  在setDefaultCloseOperation前面加上
    getContentPane.add(panel,BorderLayout.Centre);
    setVisible(true);
    就行了