Ah ok..grazie mille per avermi![]()
public class RubricaModel extends AbstractTableModel{
private ArrayList<Scheda> schede;
public RubricaModel() {
schede=new ArrayList<Scheda>();
}
public void addScheda(String name,String surname,String telephone,String email) throws Exception{ //aggiunge una scheda in coda
Scheda s=new Scheda(name,surname,telephone,email);
schede.add(s);
fireTableRowsInserted(schede.size()-1,schede.size()-1); //notifica tutti i listener che la tabella ha subito delle modifiche e che è stata inserita la riga nel range(x,y)
}
public void addSchedaAt(String name,String surname,String telephone,String email, int i) throws Exception{ //aggiunge una scheda in una determinata posizione
Scheda s=new Scheda(name,surname,telephone,email);
schede.add(i, s);
fireTableRowsInserted(i, i);
}
public void setSchedaAt(String name,String surname,String telephone,String email,int i) throws Exception{
Scheda s=new Scheda(name,surname,telephone,email);
schede.add(i, s);
fireTableRowsUpdated(i,i);
}
public Scheda removeSchedaAt(int i){
Scheda sch=schede.remove(i);
fireTableRowsDeleted(i,i);
return sch;
}
public void save(String name, String surname, String telephone, String email) throws IOException{
Scheda s;
PrintWriter pw;
Iterator<Scheda> it=schede.iterator();
pw = new PrintWriter(new FileWriter("rubrica.txt"));
while(it.hasNext()){
s = it.next();
if(s.getEmail().equalsIgnoreCase("") || s.getEmail().equalsIgnoreCase("(opzionale)")){
pw.println(s.getName() + "," + s.getSurname() + "," + s.getTelephone());}
else {
pw.println(s.getName() + "," + s.getSurname() + "," + s.getTelephone() + "," + s.getEmail());
}
}
pw.close();
}
public void aggiornaScheda(String name, String surname, String telephone, String email, int current){
schede.get(current).setName(name);
schede.get(current).setSurname(surname);
schede.get(current).setTelephone(telephone);
schede.get(current).setEmail(email);
}
public ArrayList<Scheda> getSchede() {
return schede;
}
@Override
public int getColumnCount() {
return 4;
}
@Override
public int getRowCount() {
return schede.size();
}
@Override
public Object getValueAt(int r, int c) {
String field=null;
Scheda s=schede.get(r);
if(s!=null){
switch(c){
case 0:
field=s.getName();
break;
case 1:
field=s.getSurname();
break;
case 2:
field=s.getTelephone();
break;
case 3:
field=s.getEmail();
break;
default:
break;
}
}
return field;
}
public String getName(int i){
return (String)getValueAt(i,0);
}
public String getSurname(int i){
return (String)getValueAt(i,1);
}
public String getTelephone(int i){
return (String)getValueAt(i,2);
}
public String getEmail(int i){
return (String)getValueAt(i,3);
}
public String getColumnName(int c){
return Scheda.intestazione[c];
}
}

Rispondi quotando