在 Java 的组合框中选择项目时更新 JTable

Updating JTable when selecting item in combobox in Java

我编写了自动提示从 SQL database.It 检索数据的组合框已成功。

下一步,我希望完成这些功能,

*When user select a "ItemID" from the comboBox(当用户键入ItemID的第一个字母时,建议列表出现,用户可以select aItemID - 成功编码),JTable 的 "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);
} }

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

如果您仍然遇到此问题,一种方法是在您的 table 上调用重绘,但这不是一个很好的做事方式。