我有一个 JMenu,其中填充了来自具有侦听器的数据库中的 JMenuItems,其中之一是如果选中则从数据库中删除条目。发生这种情况时,JMenuItem 应该从菜单中消失。这是一个简短的例子
for (final Racer r : Racer.getAllRacers()) {
JMenuItem j = new JMenuItem(r.getName());
racerDelete.add(j);
j.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int reply = JOptionPane.showConfirmDialog(null,
"Are you sure you want to delete racer " + r.getName() + "?", "Delete?",
JOptionPane.YES_NO_OPTION);
if (reply == JOptionPane.YES_OPTION){
r.delete();
racerDelete.remove(???);
}
}
});
}
那么我可以用什么代替“???”?r 的字段是关于我必须识别 JMenuItem 的所有内容。我已经尝试了racerDelete.remove(j),它不起作用,我不知道为什么。