Java 在netbeans中使用JTables
我想将结果集中的数据显示在Java 在netbeans中使用JTables,java,swing,netbeans,jdbc,jtable,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 {
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) {}
}
public void gethouse(内部价格){
连接接头;
ArrayList ID=新的ArrayList();
ArrayList价格=新的ArrayList();
试一试{
forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
conn=DriverManager.getConnection(“jdbc:odbc:Houses”);
语句Statement=conn.createStatement();
ResultSet rec=statement.executeQuery(“SELECT*FROM house WHERE Price您需要了解OP SwingMVC
模式,您需要声明一个TableModel
,然后将其设置到您的表中,如:
TableModel myData = new DefaultTableModel(columnVector, dataVector);
jTable1.setModel(myData);
阅读更多关于创建一个新的JTable
但不将其添加到anything@MadProgrammerJTable已经添加了,我只是创建了一个新的实例?检查…没错,所以你现在有一个在屏幕上,另一个不是…@MadProgrammer好的,所以我添加了JTable,但仍然没有。实际上,我认为它会更多正确的说法是OP需要了解MVC+1@MadProgrammer是的,你是对的,TableModel
只是将MVC
模式概念应用到JTable
中。不幸的是,我不允许像我的导师所说的那样使用向量。@Kobus,有很多构造函数为你接受其他类型的参数r数据。您可以使用DefaultTableModel(对象[][]数据,对象[]列名称)
。您可以在上面的链接中阅读更多有关它的信息。