@Override public void actionPerformed(ActionEvent e) { if (e.getSource() instanceof RadioMenuItem) { RadioMenuItem item = (RadioMenuItem) e.getSource(); if (item.isSelected()) { dataModel.setSelectedItem(item.getUserObject()); } } };
public void setSelected(Object selected) { if (selected == null) { group.clearSelection(); } else { for (int i = 0; i < itemList.size(); i++) { RadioMenuItem item = itemList.get(i); if (item.getUserObject() == selected) { item.setSelected(true); // Do not trigger actionPerformed dataModel.setSelectedItem(item.getUserObject()); return; } } } }
private void init() { itemList.clear(); Object selectedItem = dataModel.getSelectedItem(); for (int i = 0; i < dataModel.getSize(); i++) { Object object = dataModel.getElementAt(i); Icon icon = null; if (object instanceof GUIEntry) { icon = ((GUIEntry) object).getIcon(); } RadioMenuItem radioMenuItem = new RadioMenuItem(object.toString(), icon, object); radioMenuItem.setSelected(object == selectedItem); group.add(radioMenuItem); radioMenuItem.addActionListener(this); itemList.add(radioMenuItem); } }