急!-能编译能运行!就是JtableI不显示!(求教高手!)急!-能编译能运行(一点提示没有!)!就是JtableI不显示!(求教高手!)做出给50分!不胜感激!!高手指一下哪错了?? 
详见:http://hi.baidu.com/笑对人生110/blog 
关键地方:就这有错: 
public void buildTable(){ 
String sql= "select * from user"; 
try{ String strurl = 
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb"; 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con = DriverManager.getConnection(strurl); 
Statement stmt = con.createStatement(); pstmt=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=pstmt.executeQuery(); 
ResultSetMetaData dbmd=rs.getMetaData(); for(int i=1;i<=dbmd.getColumnCount();i++){ 
title.addElement(dbmd.getColumnName(i)); 
dtm=new DefaultTableModel(null,title); 
table=new JTable(dtm); 
initTable(); 
table.setRowHeight(24); 

}catch(Exception e){e.printStackTrace();dispose();} 
}

解决方案 »

  1.   

    重写TableModel了吗,直接用DefaultTableModel不行吧,我写这个的时候重写了TableModel
      

  2.   

    LZ把jTable和DefaultTableModel的实例化放在init()初始化方法中
    或者在初始化方法中调用buildTable()方法。
    你把二者写在buildTable()中,init()又没有加以调用,当然显示不出来了
      

  3.   

    问题在这句:
    dtm=new   DefaultTableModel(null,title); 
    现在dtm的data为null,不知LZ在initTable()中设定了没有。Sample(来自Google):import javax.swing.*;
    import java.awt.event.*;
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import javax.swing.table.DefaultTableModel;public class SwingTest extends JFrame{    private String[][] tabledata = {
            {"Chn", "3", "1", "0"},
            {"Bra", "3", "0", "1"},
            {"Tur", "1", "2", "1"},
            {"Ger", "2", "2", "0"}};    private String[] columnNames = {"COUNTRY", "WIN", "EVEN", "LOST"};    public static void main(String[] args){
            SwingTest test = new SwingTest("SwingTest");        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            test.setVisible(true);
        }    SwingTest(String title){
            setTitle(title);
            setBounds( 10, 10, 300, 200);        DefaultTableModel tableModel
               = new DefaultTableModel(tabledata, columnNames);        JTable table = new JTable(tableModel);        JScrollPane sp = new JScrollPane(table);
            sp.setPreferredSize(new Dimension(250, 70));        JPanel p = new JPanel();
            p.add(sp);        getContentPane().add(p, BorderLayout.CENTER);
        }
    }