【问题标题】:Updating JTable when selecting item in combobox in Java在Java中选择组合框中的项目时更新JTable
【发布时间】:2015-06-17 10:46:15
【问题描述】:

我编写了自动提示从 SQL 数据库中检索数据的组合框。它成功了。

然后作为下一步,我希望完成这些功能,

*当用户从comboBox中选择一个“ItemID”时(当用户输入ItemID的第一个字母时,提示列表出现,用户可以选择一个ItemID - 成功编码),JTable的 strong> “ItemID”列和与该特定“ItemID”相关的其他列必须从数据库中更新。

我编码updateTable()方法如下;

private void updateTable(){
String existID = (String) IDcombo.getSelectedItem();
String sql = "select * from druginfo WHERE ItemId LIKE '"+existID+"%'";
try {
    PreparedStatement pst = conn.prepareStatement(sql);
    ResultSet rs = pst.executeQuery();
    saleTable.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException ex) {
   JOptionPane.showMessageDialog(null, ex);
} }

【问题讨论】:

标签: java mysql swing combobox


【解决方案1】:

您的 tablemodel 需要根据事件触发。如果只有表数据发生变化,那么它应该触发 fireTableDataChanged()。如果数据和结构都发生了变化,那么它应该触发 fireTableStructureChanged()。可以参考document

如果您仍然遇到问题,一种方法是在您的桌子上调用 repaint,但这不是一种很好的处理方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-21
    • 2012-05-16
    • 2020-05-23
    • 2013-12-04
    • 2011-02-13
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多