gpt4 book ai didi

java - 让JTable只显示添加的行

转载 作者:行者123 更新时间:2023-11-29 14:13:54 26 4
gpt4 key购买 nike

现在我有一个使用 AbstractTableModel 的 JTable,该模型使用 JDBC 访问 SQL 数据库。我这样做

stmt.executeUpdate(someStr);
fireTableRowsInserted(rowCount,rowCount+1);

这显然会在 JTable 上添加行。但是,我希望 JTable 仅显示添加的行。

我想也许创建一个仅包含添加的行的结果集,但我无法得到它,因为我没有增量 id 字段。

还有什么我可以尝试的吗?

最佳答案

  1. 不要重新发明轮子,搜索 ResultsetTableModelTableFromDatabase(所有事件均在 EDT 上进行) Swing GUI 等待/卡住直到所有事件结束,基于 AbstractTableModel)

  2. 重新发明轮子,

    a) 使用 Runnable#Thread()SwingWorker(publish()progress())对于JDBC

    b) 创建一个适当的AbstractTableModel,可以覆盖适当的通知程序,

    c) 使用模型中的通知程序,"fireTableRowsInserted(rowCount,rowCount+1);"

    d) 对 Swing GUIJTableXxxTableModel 的所有更新都必须在 EDT 上完成

  3. 如果需要严格重写AbstractTableModel中的方法,则寻找正确的AbstractTableModel,否则使用DefaultTableModel并仅从 Runnable#Thread()SwingWorker 调用 myModel.addRow(),仅此而已

  4. 为了获得更好的帮助,请尽快发布 SSCCE将数据硬编码到 Array 中,而不是 JDBC Connections

关于java - 让JTable只显示添加的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008155/

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