老大给我个能用的吧,
我都试验了n个,各种异常,表之前我已经画好了,现在只能在表格的定制代码里修改,求一个能用的.

解决方案 »

  1.   

    呵呵,楼主如果能掌握JTable的使用方法的话,就能很容易解决这个问题了,
    楼主要先把JTabel和TableModel弄明白哦~
    我以前写过一个显示数据库的JTable,不过找不到了貌似
    还有,JDK自带的Demo程序中也有类似的例子哦,有兴趣可以去找一下~
    在JDK安装目录下:demo\jfc\TableExample
    这个里面
      

  2.   

    我贴点自己以前写的代码,是成功的,里面有JTable的简单用法,你看看.import java.awt.BorderLayout;
    import java.io.IOException;
    import javax.swing.*;
    import java.sql.*;
    import java.util.*;/**
     * @author WYM
     */
    public class Query_AllDuzhe extends JDialog{
        
        /** Creates a new instance of Query_AllDuzhe */
        public Query_AllDuzhe(JFrame owner) {
            super(owner,"显示所有读者的信息",true);
            this.Update_Con();
            this.setResizable(false);
            this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            this.setTitle("显示所有读者的信息");
        }
        public void Update_Con()
        {
            flag=0;
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbc.Driver");
            } catch (ClassNotFoundException ex) { }
            try {
    //            Connection con=DriverManager.getConnection("jdbc:odbc:XSBOOK");
                String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=sources\\data.mdb;pwd=shujuyuan";
                Connection con=DriverManager.getConnection(url);
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery("select * from XS");
                ArrayList<String> libCard=new ArrayList<String>();
                ArrayList<String> name=new ArrayList<String>();
                ArrayList<String> major=new ArrayList<String>();
                ArrayList<String> gender=new ArrayList<String>();
                ArrayList<String> birth=new ArrayList<String>();
                ArrayList<String> borrowNum=new ArrayList<String>();
                while(rs.next())
                {
                    String lc=new String(rs.getString("libCard"));
                    String na=new String(rs.getString("name"));
                    String ma=new String(rs.getString("major"));
                    String sex=new String(rs.getString("gender"));
                    String bi=new String(rs.getString("birth"));
                    String bn=new String(String.format("%d",rs.getInt("borrowNum")));
                    libCard.add(lc);
                    name.add(na);
                    major.add(ma);
                    gender.add(sex);
                    birth.add(bi);
                    borrowNum.add(bn);
                }
                int n=name.size();
                String[][] xsData=new String[n][6];
                for(int i=0;i<n;i++)
                {
                    xsData[i][0]=new String(libCard.get(i));
                    xsData[i][1]=new String(name.get(i));
                    xsData[i][2]=new String(major.get(i));
                    xsData[i][3]=new String(gender.get(i));
                    xsData[i][4]=new String(birth.get(i).substring(0,10));
                    xsData[i][5]=new String(borrowNum.get(i));
                }
                String[] title={"借书证号","姓名","专业","性别","出生日期","借书数"};
                JTable xsInfo=new JTable(xsData,title);
                JScrollPane jsp=new JScrollPane(xsInfo);
                this.add(jsp,BorderLayout.CENTER);
            }catch (Exception ex) {
                JOptionPane.showConfirmDialog(null,"找不到数据库驱动程序!","Warning",JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE);
                flag=-1;
            }
        }
        public int getFlag()
        {
            return flag;
        }
        private int flag;
    }