gpt4 book ai didi

java - 更新内容时重新创建 JTable

转载 作者:行者123 更新时间:2023-12-02 00:04:04 25 4
gpt4 key购买 nike

我有一个使用 JTable 的应用程序。当我向数据库添加一些内容时,它会进入数据库,但我无法以某种方式重新创建 JTable。我尝试了 repaint();创建我的表的方法我已经尝试过 Revalidate();但也没有成功

我什至试图记忆该方法,但也没有帮助。

执行的操作如下:

    @Override
public void actionPerformed(ActionEvent e) {

if(e.getSource() == add) {
model.insertValue(toDo.getText());
model.getValue();
view.createTable();
toDo.setText("");
}
}

以及创建JTable的方法

    public void createTable() {

JTable table = new JTable();

DefaultTableModel tableModel = new DefaultTableModel(new Object[][]{},new String[]{"To do","Date added", "Modify"});

table.setSize(450, 600);


table.setModel(tableModel);
JScrollPane scrlPan=new JScrollPane(table);

for(int i = 0; i < model.getId().size(); i++) {

tableModel.addRow(new Object[]{
model.getItem().get(i),
model.getDate().get(i),
model.getId().get(i)
});
}

add(scrlPan);
add(table.getTableHeader(), BorderLayout.NORTH);
add(table, BorderLayout.CENTER);
}

关于如何解决这个问题有什么想法吗?

最佳答案

  • 不要重新发明轮子,搜索 ResultSetTableModel(很少的代码解决方法)TableFromDatabase@camickr

  • 制作
  • 上午解决方法是 EDT 敏感JTables 内容等待 ResultSet 返回所有行、Swing GUI 卡住或不负责对于键和鼠标事件,直到完成又长又硬的对象 (JDBC),此逻辑可能适用于小型的小型结果集数据库表,无需打开和关闭连接到数据库,否则必须使用SwingWorker批处理逻辑(例如更新具有 20 行的 XxxTableModel)

关于java - 更新内容时重新创建 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236039/

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