如何从jList更改为JTable(来自DB的数据有很多列和行)

时间:2013-12-16 19:32:54

标签: java sql swing jtable

我会尽力解释。我是一个菜鸟,并且一直试图解决这个问题几个小时......

  • 我创建了一个Java应用程序,它显示了它所连接的数据库中的数据。 (ODBC / Microsoft SQL)。

  • 当我为应用程序制作GUI时,我决定在jList中显示数据。

  • 然后我意识到信息太多了,我需要列名等(因此是一个jTable)

我想要做的是改变,以便数据显示在jTable而不是jList中。但我不知道该怎么做。

这就是代码现在的样子:

GUI

private void jComboBox1_actionPerformed(ActionEvent e)throws SQLException {

    String selected = jComboBox1.getSelectedItem().toString();
     String[]tmp = conn.showTable1(selected);
    jList1.setListData(tmp);

}

控制器

public String[] showTable1(String table)throws SQLException {
    ArrayList<String> list1 = dal.showTable1(table);
    return list1.toArray(new String[list1.size()]);
 }

数据访问层

public ArrayList<String> showTable1(String table)throws SQLException {
    ArrayList<String> list1 = new ArrayList<String>();

    Statement stmt = con.createStatement();
    String query1 = "select * from [" +table+"]";
        System.out.println(query1);
    ResultSet rset = stmt.executeQuery(query1);
    ResultSetMetaData rsmd = rset.getMetaData();
    while (rset.next()) {
        String result = "";

        for(int i = 1; i < rsmd.getColumnCount(); i++) {
            result += rset.getString(i) + "\t" + "\t";
   //     
        }
            list1.add(result);
        }

    return list1;

    }

请帮忙!

亲切的问候,克里斯

1 个答案:

答案 0 :(得分:2)

有关简单的一些建议,请参阅Table From Database

  1. 在网络上搜索现有的ResultSetTableModel
  2. 使用TableFromDatabase Example代码
  3. 使用博客中提供的ListTableModel