123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package model;
-
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.util.ArrayList;
- import javax.swing.table.AbstractTableModel;
-
- /**
- *
- * @author PC
- */
- /**
- *
- * @author le
- */
- public class AdressVerwaltungModel extends AbstractTableModel
- {
- private ArrayList<ArrayList<String>> daten;
- private ArrayList<String> adressEintraegeDaten;
- private ArrayList<String> adressEintraegeNamen;
-
-
- /**
- *Konstruktor für AdressverwaltungModel
- */
- public AdressVerwaltungModel()
- {
- adressEintraegeDaten = new ArrayList<>();
- adressEintraegeNamen = new ArrayList<>();
- daten = new ArrayList<>();
-
- adressEintraegeNamen.add("Vorname");
- adressEintraegeNamen.add("Name");
- adressEintraegeNamen.add("Adresse");
- adressEintraegeNamen.add("E-Mail");
- adressEintraegeDaten.add("");
- adressEintraegeDaten.add("");
- adressEintraegeDaten.add("");
- adressEintraegeDaten.add("");
-
-
-
- // adressEintraegeNamen.add("Telefon");
- // adressEintraegeDaten.add("122345");
- daten.add(adressEintraegeDaten);
- }
-
- @Override
- public int getRowCount()
- {
- return daten.size();
- }
-
- @Override
- public int getColumnCount()
- {
- return adressEintraegeDaten.size();
- }
-
- @Override
- public Object getValueAt(int row, int col)
- {
- return daten.get(row).get(col);
- }
- @Override
- public void setValueAt(Object value, int row, int col)
- {
- daten.get(row).set(col, (String)value);
- }
-
- @Override
- public boolean isCellEditable(int row, int col)
- {
- return true;
- }
-
- @Override
- public String getColumnName(int col)
- {
- return adressEintraegeNamen.get(col);
- }
-
- public ArrayList<String> getLastRowData()
- {
- ArrayList<String> lastRow = new ArrayList<>();
-
- for (int i = 0; i <= daten.get(0).size()-1; i++)
- {
- lastRow.add(daten.get(daten.size()-1).get(i));
- }
-
- return lastRow;
- }
-
-
- public void eintragHinzufuegen(ArrayList<String> letzteSpalte)
- {
- daten.add(letzteSpalte);
- this.fireTableDataChanged();
- }
-
- public void eintragHinzufuegen()
- {
- adressEintraegeDaten = new ArrayList<>();
- adressEintraegeNamen.forEach(s -> adressEintraegeDaten.add(""));
- daten.add(adressEintraegeDaten);
- this.fireTableDataChanged();
- }
-
- public void eintragLoeschen(int row)
- {
- daten.remove(row);
- this.fireTableDataChanged();
- }
-
- public void spalteHinzufuegen(String name)
- {
- adressEintraegeNamen.add(name);
- }
-
- public void datenSpeichern(File datei) throws FileNotFoundException, IOException
- {
- FileOutputStream fos = new FileOutputStream(datei);
- BufferedOutputStream bos = new BufferedOutputStream(fos);
- ObjectOutputStream oos = new ObjectOutputStream(bos);
- oos.writeObject(daten);
- oos.writeObject(adressEintraegeNamen);
- oos.flush();
- oos.close();
- }
-
- public void datenLesen(File datei) throws FileNotFoundException, IOException, ClassNotFoundException
- {
- FileInputStream fis = new FileInputStream(datei);
- BufferedInputStream bis = new BufferedInputStream(fis);
- ObjectInputStream ois = new ObjectInputStream(bis);
- daten = (ArrayList<ArrayList<String>>)ois.readObject();
- adressEintraegeNamen = (ArrayList<String>)ois.readObject();
- adressEintraegeDaten = daten.get(daten.size()-1);
- ois.close();
- this.fireTableDataChanged();
- }
-
- }
|