У меня есть Jlist
с DefaultListModel
с данными из XML.Как обновить имя строки элемента внутри DefaultListModel
Я хочу иметь возможность изменить название изделия в Jlist
. но у DefaultListModel
нет способа обновления.
Так что если пользователь нажимает на имя, оно должно редактировать имя.
До сих пор я думал, что если я получу местоположение элемента и удалю его и обновить новыми данными. Но если я обновляюсь, тогда новое имя будет помещено в то же место, что и старое, или все будет испорчено?
Мой код:
private class EditName extends AbstractAction {
public EditName() {
putValue(NAME, "Change Name");
putValue(SHORT_DESCRIPTION, "Some short description");
}
public void actionPerformed(ActionEvent e) {
int x = objTypeJList.getSelectedIndex();
String newName = JOptionPane.showInputDialog("New Name?");
if (x >= 0) {
String oldName = ReadXMLFile.getInstance().getModel().getElementAt(x).toString();
ReadXMLFile.getInstance().getModel().removeElementAt(x);
objTypeJList.setModel(ReadXMLFile.getInstance().getModel());
}
// newText I wanna add into the the location I edit
}
}
'Но если я обновляюсь, тогда новое имя будет помещено в то же место, что и старое, или все будет запутано? Попробуйте и сообщите нам, что произойдет. Вы учитесь, пытаясь. Почему ваш код удаляет один элемент, а затем обновляет всю модель? – camickr