У меня есть ArrayList of Objects (Name, несколько номеров и т. Д.), Который я могу открыть и посмотреть на JTable (имя и т. Д.). Я могу добавить объект в jtable и добавить его в arraylist. Whe Я пытаюсь удалить объект из JTable, он не удалит также и мой ArrayList. Я сделал это ActionListener и я попробовал оба метод для удаления объекта (с удалением() и с итератором)Удалить объект из Arraylist
class ButtonRemovePersoAL implements ActionListener {
public void actionPerformed(ActionEvent e) {
int numerorows = table.getSelectedRows().length;
for(int i=0; i < numerorows ; i++) {
String Name = (String) table.getModel().getValueAt(table.getSelectedRow(), 0); // I search for the first case of the JTable to catch the Object to erase
for(Object object : myarraylistofobjects) {
if(Name.equals(object.getName())) {
myarraylistofobjects.remove(object);
}
}
// OR
Iterator<Object> itr = myarraylistofobjects().iterator();
while (itr.hasNext()) {
Object object = itr.next();
if (Name.equals(object.getName())) {
itr.remove();
}
}
tablemodel.removeRow(table.getSelectedRow()); // I delete finally my row from the jtable
}
}
}
Что мне не хватает? Благодарим вас за помощь.
Пожалуйста, следуйте соглашениям о капитализации Java. Кроме того, что такое значение 'Name', и уверены ли вы, что ваше условие if оценивает значение' true'? Вы пробовали отладчик? –
Можно ли использовать 'Vector' вместо' ArrayList'? 'DefaultTableModel' имеет [конструктор для' Vector'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/table/DefaultTableModel.html#DefaultTableModel%28java.util.Vector,% 20java.util.Vector% 29), и это сделает все остальное намного проще. –