17. december 2003 - 15:02
#2
Hvad vil du gerne vide mere om? jig er lidt i twivl om hvad jeg skal oplyse om for at gøre det nemest muligt at forstå hvad jeg gerne vil have
her er koden på min kontrol klasse
import java.util.*;
import java.io.*;
import javax.swing.*;
/*
* Created on 8 December 2003, 11:46
*/
public class Kontrol
{
// vores main metode
public static void main(String args[])
{
Kontrol kontrolklasse = new Kontrol();
Gui1 gui1 = new Gui1();
}
private int naesteMedlemsNr; // laver en variabel til at indeholde medlemsNR
private HashMap medlemmer;
//Konstruktør - laver et hashmap og fylder data ind fra metoden loadfrafil
public Kontrol()
{
medlemmer = new HashMap();
loadFraFil();
}
//henter det næste nr fra en gemt fil
private int HentNaesteMedlemsNr()
{
try
{
BufferedReader hentMedlemsNrFraFil = new BufferedReader(new FileReader("C:\\MedlemsNr.dat"));
String xNytMedlemsNr = hentMedlemsNrFraFil.readLine();
if(xNytMedlemsNr == "") // tjekker at medlemsfilen ikke er tom
{
naesteMedlemsNr = 1;
}
else
{
naesteMedlemsNr = Integer.parseInt(xNytMedlemsNr) + 1;
}
GemNaesteMedlemsNr();
return naesteMedlemsNr;
}
catch(IOException e) // Bliver kaldt hvis filen slet ikke findes
{
naesteMedlemsNr = 1;
GemNaesteMedlemsNr();
return naesteMedlemsNr;
}
}
// Gemmer næste medlems nr
private void GemNaesteMedlemsNr()
{
try //bruger try fordi fileWriter smider IOExceptions
{
FileWriter fw = new FileWriter("C:\\MedlemsNr.dat");
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter gemPaaFil = new PrintWriter(bw);
String NaesteMedlemsNrString = Integer.toString(naesteMedlemsNr);
gemPaaFil.println(NaesteMedlemsNrString);
gemPaaFil.close();
}
catch(IOException e)
{
}
}
// fra String til boolean
private boolean stringToBoolean(String tekst)
{
Boolean temp = new Boolean(tekst);
return temp.booleanValue();
}
// henter indhold af medlemmer filen ind
public void loadFraFil()
{
try //bruger try fordi filreader smider IOExceptions
{
BufferedReader hentFraFil = new BufferedReader(new FileReader("C:\\Medlemmer.dat"));
String nyLinje = hentFraFil.readLine();
String xMedlemsNr;
String xNavn;
String xAdresse;
String xBy;
String xxPostNr;
String xxTelefonNr;
String xCprNr;
String xxAktivitetsForm;
String xxMedlemsForm;
int xPostNr;
int xTelefonNr;
boolean xAktivitetsForm;
boolean xMedlemsForm;
while (nyLinje != null)
{
StringTokenizer tokenizer = new StringTokenizer(nyLinje, ",");
xMedlemsNr = tokenizer.nextToken();
xNavn = tokenizer.nextToken();
xAdresse = tokenizer.nextToken();
xBy = tokenizer.nextToken();
xxPostNr = tokenizer.nextToken();
xPostNr = Integer.parseInt(xxPostNr); // skifter fra string til int
xxTelefonNr = tokenizer.nextToken();
xTelefonNr = Integer.parseInt(xxTelefonNr); // skifter fra string til int
xCprNr = tokenizer.nextToken();
xxAktivitetsForm = tokenizer.nextToken();
xAktivitetsForm = stringToBoolean(xxAktivitetsForm);
xxMedlemsForm = tokenizer.nextToken();
xMedlemsForm = stringToBoolean(xxMedlemsForm); //Skifter til boolean
addEksisterendeMedlem(xMedlemsNr, xCprNr, xPostNr, xTelefonNr, xNavn, xAdresse, xBy, xAktivitetsForm, xMedlemsForm);
nyLinje = hentFraFil.readLine();
}
}
catch(IOException e)
{
}
}
//Gemmer medlemmer der har været på filen i hashmap
private void addEksisterendeMedlem(String medlemsNr, String cprNr, int postNr, int telefonNr, String navn, String adresse, String by, boolean aktivitetsForm, boolean medlemsForm)
{
if (medlemsForm == false)
{
Konkurrence nytMedlem = new Konkurrence(cprNr, postNr, telefonNr, navn, adresse, by, aktivitetsForm, medlemsForm);
nytMedlem.setMedlemsNr(medlemsNr);
medlemmer.put(medlemsNr, nytMedlem);
}
else
{
Motionist nytMedlem = new Motionist(cprNr, postNr, telefonNr, navn, adresse, by, aktivitetsForm, medlemsForm);
nytMedlem.setMedlemsNr(medlemsNr);
medlemmer.put(medlemsNr, nytMedlem);
}
}
// tilføjer nyt medlem til HashMap
public void addMedlem(String cprNr, int postNr, int telefonNr, String navn, String adresse, String by, boolean aktivitetsForm, boolean medlemsForm)
{
if(medlemsForm == false) // tjekker om det er et konkurrence medlem
{
Konkurrence nytMedlem = new Konkurrence(cprNr, postNr, telefonNr, navn, adresse, by, aktivitetsForm, medlemsForm);
String medlemsNr = Integer.toString(HentNaesteMedlemsNr());
nytMedlem.setMedlemsNr(medlemsNr);
medlemmer.put(medlemsNr, nytMedlem);
}
else
{
// ellers sætter den ny motionist
Motionist nytMedlem = new Motionist(cprNr, postNr, telefonNr, navn, adresse, by, aktivitetsForm, medlemsForm);
String medlemsNr = Integer.toString(HentNaesteMedlemsNr());
nytMedlem.setMedlemsNr(medlemsNr);
medlemmer.put(medlemsNr, nytMedlem);
}
}
// fjerner reference til medlem
public void removeMedlem(String medlemsNr)
{
if(medlemmer.get(medlemsNr)!= null) // tjekker at pointer findes
{
medlemmer.remove(medlemsNr); // fjerner referrence til medlemsobjekt
}
else
{
//ikke valid Medlemsnr og hashmap ville smidde en null pointer
}
}
// udskriver alle på skærm
public void listAll()
{
Iterator i = medlemmer.values().iterator(); // får en iterator der itererer over værdierne (Medlem) i hasmap medlemmer
while (i.hasNext()) // så længe variablen i har en mere skal den printe nedenstående
{
Medlem medlem = (Medlem) i.next();
System.out.println(medlem.getMedlemsNr());
System.out.println(medlem.getNavn());
System.out.println(medlem.getAdresse());
System.out.println(medlem.getPostNr());
System.out.println(medlem.getBy());
System.out.println(medlem.getTelefonNr());
if(medlem.getMedlemsForm() == false) // tjekker om medlemsform er false så skal den printe konkurrence
{
System.out.println("Konkurrence");
}
else
{
System.out.println("Motionist"); // ellers motionist
}
if(medlem.getAktivitetsForm() == false) // tjekker aktivitetsform
{
System.out.println("Passiv");
}
else
{
System.out.println("Aktiv");
}
}
}
//bruges til redigering af et medlem
public void redigerMedlem(String medlemsNr, String cprNr, int postNr, int telefonNr, String navn, String adresse, String by, boolean aktivitetsForm, boolean medlemsForm)
{
if((medlemsNr)!=null) // hvis key findes skal den caste hashmap til et medlem og derefter kalder den setOplysninger i medlem
//og sætter de nye værdier ind
{
Medlem medlem = (Medlem) medlemmer.get(medlemsNr);
medlem.setOplysninger(cprNr, postNr, telefonNr, navn, adresse, by, aktivitetsForm, medlemsForm);
}
else
{
// ikke valid indtastning - til exepstions - hashMap ville i så fald smide en null pointer
}
}
//viser et medlem søger i hashmap via medlemsNR
public void visEtMedlem(String medlemsNr)
{
if((Medlem)medlemmer.get(medlemsNr)!= null) // hvis medlem findes skal den caste til medlem og gette information på medlem
{
Medlem temp = (Medlem) medlemmer.get(medlemsNr);
System.out.println(temp.getMedlemsNr());
System.out.println(temp.getNavn());
System.out.println(temp.getAdresse());
System.out.println(temp.getPostNr());
System.out.println(temp.getBy());
System.out.println(temp.getTelefonNr());
if(temp.getMedlemsForm() == false) // Tjekker om det er konkurrence medlem
{
System.out.println("Konkurrence");
}
else
{
System.out.println("Motionist"); // printer hvis det er motionist
}
}
else
{
// ikke valid nr - til exepstions - hashMap ville smide en null pointer
}
}
// gemmer på fil
public void savePaaFil()
{
try // bruger try fordi fileWriter smider IOExceptions
{
FileWriter fw = new FileWriter("C:\\Medlemmer.dat");
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter gemPaaFil = new PrintWriter(bw);
Iterator i = medlemmer.values().iterator();
String medlemsStreng = new String();
while (i.hasNext())
{
Medlem medlem = (Medlem) i.next();
medlemsStreng = medlem.getMedlemsNr();
medlemsStreng = medlemsStreng + "," + medlem.getNavn();
medlemsStreng = medlemsStreng + "," + medlem.getAdresse();
medlemsStreng = medlemsStreng + "," + medlem.getBy();
medlemsStreng = medlemsStreng + "," + Integer.toString(medlem.getPostNr());
medlemsStreng = medlemsStreng + "," + Integer.toString(medlem.getTelefonNr());
medlemsStreng = medlemsStreng + "," + medlem.getCprNr();
medlemsStreng = medlemsStreng + "," + Boolean.toString(medlem.getAktivitetsForm());
medlemsStreng = medlemsStreng + "," + Boolean.toString(medlem.getMedlemsForm());
gemPaaFil.println(medlemsStreng);
}
gemPaaFil.close();
}
catch(IOException e)
{
}
}
}