gpt4 book ai didi

java - 添加新行后 JTable 不显示新模型

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:32:32 26 4
gpt4 key购买 nike

我无法重绘我的 jTable。我必须重新运行所有应用程序才能显示 addRow。

这是代码:

MainPage.java http://pastebin.com/6FZL1pKC

public class Mainpage2 extends javax.swing.JFrame {

public static DefaultTableModel tripModel;
/**
* Creates new form carpoolingui
*/
public Mainpage2(){
try {
tripModel = MPtable.myModel(Parser.parsa_tratta(Database.doRequest("SELECT * from tratte")));
} catch (Exception ex) {
Logger.getLogger(Mainpage2.class.getName()).log(Level.SEVERE, null, ex);
}
initComponents();
}
....
jTable1.setModel(tripModel);
....
public void tripRepaint() throws MalformedURLException, Exception{
System.out.println(jTable1.getModel());
tripModel = MPtable.myModel(Parser.parsa_tratta(Database.doRequest("SELECT * from tratte")));
jTable1.setModel(tripModel);
jTable1.repaint();

System.out.println(jTable1.getModel());
System.out.println(tripModel);

最后 3 个 println() 表明模型已经改变! 哈哈{}输出:

紫罗兰

javax.swing.table.DefaultTableModel@1ca7e4a

博洛尼亚

...

卡坦扎罗

NEW_DEPARTURE_ADDED

javax.swing.table.DefaultTableModel@17​​d54dd

javax.swing.table.DefaultTableModel@17​​d54dd

所以它有效..但它没有显示新模型!

AddTrip.java http://pastebin.com/t0LqF91a

Carpooling2.mainPage2.tripRepaint();

MPTable.java http://pastebin.com/2gXvYNLC

 public class MPtable {


public static DefaultTableModel myModel(Tratta[] tratta_array){
int i;

DefaultTableModel model = new DefaultTableModel();
model.addColumn("ID");
model.addColumn("LUOGO PARTENZA");
model.addColumn("LUOGO ARRIVO");
model.addColumn("DATA");
model.addColumn("ORA PARTENZA");
model.addColumn("ORA ARRIVO");
model.addColumn("COSTO (€)");
model.addColumn("POSTI DISPONIBILI");
model.addColumn("AUTISTA");
model.addColumn("INFORMAZIONI");

for (i=0; i<tratta_array.length; i++){
System.out.println(tratta_array[i].getLuogoPartenza());
}

for (i=0; i<tratta_array.length; i++){
model.addRow(new Object[] {
tratta_array[i].getId(),
tratta_array[i].getLuogoPartenza(),
tratta_array[i].getLuogoArrivo(),
tratta_array[i].getData(),
tratta_array[i].getOraPartenza(),
tratta_array[i].getOraArrivo(),
tratta_array[i].getCosto(),
tratta_array[i].getPostiDisponibili(),
tratta_array[i].getAutista(),
tratta_array[i].getInfo()
}
);
}
return model;
}

最佳答案

您需要通知表,结构和/或数据已更改。问题在这里得到回答,例如:JTable How to refresh table model after insert delete or update the data.

关于java - 添加新行后 JTable 不显示新模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com