如何在未选中JTable行时弹出提示消息?
解决未选中行时的提示问题
嘿,我来帮你搞定这个小问题!你的删除功能已经能正常处理选中行的删除了,只需要加个简单的判断逻辑,就能实现未选中时弹出警告的需求。
你只需要在try块的最开头,先检查选中行数组的长度。如果长度为0,说明没有选中任何行,这时候用JOptionPane弹出提示框,然后直接返回,不执行后面的删除操作就行。
修改后的完整代码如下:
private void silButtonActionPerformed(java.awt.event.ActionEvent evt) { try { int[] selectedItems = jTable2.getSelectedRows(); // 新增:判断是否有选中行 if (selectedItems.length == 0) { JOptionPane.showMessageDialog(this, "请先选择要删除的行!", "操作提示", JOptionPane.WARNING_MESSAGE); return; // 直接返回,跳过后续删除逻辑 } for (int i = 0; i < selectedItems.length; i++) { String cell = (jTable2.getModel().getValueAt(selectedItems[i], 0)).toString(); System.out.println(cell); String query="DELETE FROM Musteriler WHERE id="+cell+""; PreparedStatement pst = connection.prepareStatement(query); int rs = pst.executeUpdate(); } loadTable(); cleanFields(); } catch (Exception e) { System.out.println(e); } }
另外顺便提个小建议:你当前的SQL语句写法存在SQL注入风险,建议改用参数化查询来优化,比如把SQL语句改成"DELETE FROM Musteriler WHERE id=?",然后用pst.setString(1, cell);来设置参数,这样能大幅提升代码的安全性哦。
内容的提问来源于stack exchange,提问作者Kadir Karadavut
相关产品推荐
相关产品推荐

