在netbeans中使用JTable

时间:2014-03-04 07:11:19

标签: java swing netbeans jdbc jtable

我想将结果集中的数据显示为JTable。 当我运行以下代码时,表格不会更新。

 public void getHouses(int price) {
    Connection conn;


    ArrayList<Integer> ID = new ArrayList<Integer>();
    ArrayList<String> Price = new ArrayList<String>();



    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        conn = DriverManager.getConnection("jdbc:odbc:Houses");
        Statement statement = conn.createStatement();
        ResultSet rec = statement.executeQuery("SELECT * FROM Houses WHERE Price <= " + price + "");

        while (rec.next()) {
            ID.add(rec.getInt("ID"));
            Price.add(rec.getString("Price"));
        }


        String[] columnNames = {"House ID", "House Price"};
        Object[][] rows = new Object[ID.size()][2];

        for (int i = 0; i < ID.size(); i++) {
            rows[i][0] = ID.get(i);
            rows[i][1] = Price.get(i);
        }

        jTable1 = new JTable(rows, columnNames);

        statement.close();
    } catch (SQLException se) {
    } catch (ClassNotFoundException cnf) {}
}

请注意! 我通过拖放将JTable添加到gui中。 我还测试了我的结果集中有数据。

1 个答案:

答案 0 :(得分:2)

您需要了解OP Swing MVC模式,您需要声明数据存储然后将其设置为您的表的TableModel,例如:

TableModel myData = new DefaultTableModel(columnVector, dataVector);
jTable1.setModel(myData);

详细了解DefaultTableModel