Java 我的JTable不会更新,但我的组成员会更新
我有一个JTable,它正在由使用向量的DerbyDB更新。唯一的问题是它不起作用,现在令人困惑的是它是一个团队项目,它为我的团队成员工作。我们正在使用Git进行协作,所以我不确定它的突破点在哪里。我有一个新的拉,没有什么似乎是不同步的,所以说,还有什么可以呢?我在想,我们的数据库在本地客户机上的存储并不相似,但这些似乎是正确的,这与列名有关吗?或者到底有多少列?。还有什么我能做的吗 传感器分贝 这是我的sensorDbClass,它查询我的数据库Java 我的JTable不会更新,但我的组成员会更新,java,swing,jtable,Java,Swing,Jtable,我有一个JTable,它正在由使用向量的DerbyDB更新。唯一的问题是它不起作用,现在令人困惑的是它是一个团队项目,它为我的团队成员工作。我们正在使用Git进行协作,所以我不确定它的突破点在哪里。我有一个新的拉,没有什么似乎是不同步的,所以说,还有什么可以呢?我在想,我们的数据库在本地客户机上的存储并不相似,但这些似乎是正确的,这与列名有关吗?或者到底有多少列?。还有什么我能做的吗 传感器分贝 这是我的sensorDbClass,它查询我的数据库 public static List<
public static List<Sensor> updateSensors(double timemark)
{
List<Sensor> sensors = new ArrayList<Sensor>();
try
{
stmt = conn.createStatement();
ResultSet results = stmt.executeQuery("SELECT * FROM " +tableName +" WHERE time=" +timemark);
// System.out.println("\n----------------------------------------------------------");
int time,id,temp,hum,light,voltage;
while(results.next())
{
time = results.getInt(1);
id = results.getInt(2);
temp = results.getInt(3);
hum = results.getInt(4);
light = results.getInt(5);
voltage = results.getInt(6);
Sensor sens = new Sensor(id, temp, hum, light, voltage);
sensors.add(sens);
//System.out.println(sens);
}
results.close();
stmt.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return sensors;
}
使用向量更新我的Jtabel
public void updateTable() {
DefaultTableModel tableModel = new DefaultTableModel();
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
sensors = SensorDBConnection.updateSensors(currentTime);
System.out.println("Sensors for time = " + currentTime);
for (Sensor s : sensors) {
//System.out.println(s);
Vector<Object> row = new Vector<Object>();
row.add(s.getId());
row.add(s.getTemp());
row.add(s.getHumidity());
row.add(s.getVoltage());
data.add(row);
System.out.println("===============" +row);
}
Vector<String> headers = new Vector<String>();
headers.add("ID");
headers.add("TEMP");
headers.add("HUMIDITY");
headers.add("VOLTAGE");
tableModel.setDataVector(data, headers);
sensorTable.setModel(tableModel);
this.currentTime += .5;
}
其他人能想一想为什么会搞砸吗?假设数据实际上是从数据库正确加载的,那么您所拥有的应该可以工作,它可能无法工作的一个原因是因为您正在更新的表不是屏幕上实际显示的表,这就是为什么我如此困惑,我重新创建了3次数据库,每次都加载数据。它对我的团队成员有效,但我无法解决这个问题。。这就是我的数据库的样子,它正在我的System.out上打印