private void doSave() { ContactProps contact = new ContactProps(); for (AccessInterface infoField : infoFields) contact.setProperty(infoField.getContactKey(), infoField.getContent()); String newname = contact.getProperty(ContactProps.NAME); if (newname == null || newname.trim().equals("")) { AddrBookProps.save(addrbook); return; } if (contactList.getSelectedIndex() != -1) { String oldname = (String) contactList.getSelectedValue(); if (oldname.equals(newname)) { // 同名 addrbook.put(contact.getProperty(ContactProps.NAME), contact); } else { // 改变名字 if (addrbook.containsKey(newname)) { // 名字冲突 } else { // 名字不冲突 addrbook.remove(oldname); addrbook.put(newname, contact); } } } else { if (addrbook.containsKey(newname)) { // 名字冲突 } else { // 名字不冲突 addrbook.put(newname, contact); } } refreshContactList(); contactList.setSelectedValue(newname, true); AddrBookProps.save(addrbook); }
private void doDelete() { int k = contactList.getSelectedIndex(); if (k != -1) { String oldname = (String) contactList.getSelectedValue(); addrbook.remove(oldname); contactListModel.removeElementAt(k); if (contactListModel.getSize() > k) contactList.setSelectedIndex(k); else if (k - 1 >= 0) contactList.setSelectedIndex(k - 1); } }