我有3个jlists。我有一个按钮,用于从Patient Jlist中删除所选项目,但我还需要它从我的历史记录Jlist和Invoices Jlist中删除。我从一个删除它但我不知道如何实现从历史记录jlist和发票jlist中删除的代码。
这是我从1个JList中删除的代码!:
JButton btnDeleteDB = new JButton("Delete From DB");
btnDeleteDB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int selectedIndex = patientList1.getSelectedIndex();
if (selectedIndex != -1) {
int x = patientList.get(selectedIndex).getID();
String query =
"DELETE FROM `patienttable` WHERE `patientid` ='"+x+"' LIMIT 1";
try {
Connection con =
DriverManager.getConnection(
"jdbc:mysql://localhost:3306/denistassignment","root","");
Statement s = (Statement) con.createStatement();
s.execute(query);
} catch (Exception ex) {
ex.printStackTrace();
}
patientListModel.remove(selectedIndex);
patientList1.remove(selectedIndex);
}
}});
btnDeleteDB.setBounds(320, 500, 125, 23);
contentPane.add(btnDeleteDB);
答案 0 :(得分:1)
你的代码显示了一些我害怕的设计缺陷,我会在回答你的问题之前列出一些:
patientList1.remove(selectedIndex);
与从JList中删除项目无关,请参阅此方法的JavaDoc以获取详细信息。简而言之,删除该行。我认为你所有的JList都在同一个类中,你有成员变量指向每个。如果是这样,那么只需找到相应的对象,这些对象也应该在您查找当前所选JL的索引的同时在其他JLists中删除。我不知道您系统的详细信息,因此可能会迭代其他列表项,将ID与您要删除的ID进行比较,然后只为每个要删除的ID调用listXY.getModel().remove(indexOfItem)
。 / p>