Hallo,
Ich hab ein Problem mit meiner Aufgabe und zwar soll ich ein GUI zu meiner Aufgabe Emailadresse schreiben. Das Problem ist jetzt das ich nicht weiss wie ich die Methoden von der Klasse Emailadresse verwenden kann, damit die Funktion beim Drücken des Buttons ausgeführt wird. Also zb.: man drückt auf den Button hinzufuegen und es soll die Funktion der Methode hinzufuegen ausgeführt werden. Das Ergebnis soll im Textfeld stehen.
Bitte um Hilfe
Die Klasse Emailadresse:
Die Klasse Guiemailadresse:
lg blue
Ich hab ein Problem mit meiner Aufgabe und zwar soll ich ein GUI zu meiner Aufgabe Emailadresse schreiben. Das Problem ist jetzt das ich nicht weiss wie ich die Methoden von der Klasse Emailadresse verwenden kann, damit die Funktion beim Drücken des Buttons ausgeführt wird. Also zb.: man drückt auf den Button hinzufuegen und es soll die Funktion der Methode hinzufuegen ausgeführt werden. Das Ergebnis soll im Textfeld stehen.
Bitte um Hilfe
Die Klasse Emailadresse:
Java:
import java.util.*;
/**
* Die Klasse Emailadress gibt zu einen Namen alle Email-Adressen aus.
* @author
* @version 30.5.2011
*/
public class Emailadress {
private Map<String,List> mails;
/**
* Konstruktor
*/
public Emailadress(){
mails = new TreeMap<String,List>(); //TreeMap erzeugen
}
/**
* Gibt nur den Namen einer Email zurück.
*
* @param name Name der gegegeben ist
* @param mail Neu zu zuordnende Emailadresse.
*
*/
public boolean hinzufuegen(String name,String mail){
List mailslist = mails.get(name);
mailslist.add(mail);
mails.put(name,mailslist);
return true;
}
/**
* Fügt einen neuen Namen und dazugehorige EmailAddresse hinzu
*
* @param name Neuer Name
* @param emails jede Email wird nur einmal verwendet.
*/
public boolean hinzufuegenNeu(String name,LinkedList emails){
mails.put (name,emails);
return true;
}
/**
* Bearbeiten eines Namens.
*
* @param name gegebender Name
* @param email die Email die gändert werden soll
* @param neuEmail Die Email die neu hinzugefuegt wird.
*
*/
public boolean bearbeiten(String name,String email, String neuEmail){
List mailslist = mails.get(name);
if( mailslist.contains(email)){
mailslist.add(neuEmail);
mailslist.remove(email);
mails.put(name,mailslist);
return true;
}
else{
return false;
}
}
/**
* Methode zum löschen eines Namens und der dazugehörigen Emailadresse.
*
* @param name Zu löschender Eintrag.
*
*/
public boolean loeschenEintrag(String name){
mails.remove(name);
return true;
}
/**
* Löscht eine Email durch den Namen.
*
* @param name
* @param email
*
*/
public boolean loeschenEmail(String name,String email){
List mailslist = mails.get(name);
if(mailslist.contains(email)){
mailslist.remove(email);
mails.put(name,mailslist); //TreeMap überschreibt den Eintrag automatisch.
return true;
}
else{
return false;
}
}
/**
* Anzeigen eines Eintrages ( Email und Name).
*
* @param name Anzuzeigender Name.
* @return txt Gibt den ganzen Eintrag in einem String zurück.
*/
public String zeigeName(String name){
List mailslist = mails.get(name);
String txt =mailslist.toString();
return txt;
}
/**
* Zeigt alle EmailAdressen und den dazugehörigen Namen an.
*
*
*/
public String machArray(){
String txt="";
Set eintraege = mails.entrySet();// TreeMap wird zu TreeSet
Iterator i2 = eintraege.iterator(); //Iterator um den Eintrag auszugeben
while (i2.hasNext()) {
Map.Entry entry = (Map.Entry)i2.next();
Object key = entry.getKey(); // Gibt den Schlüssel zurück
Object value = entry.getValue(); // Gibt den Wert zurück
txt = txt +(key + " : " + value+"\n");
}
return txt;
}
}
Die Klasse Guiemailadresse:
Java:
import static javax.swing.JOptionPane.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.*;
import java.util.*;
import java.io.*;
/**
* Die Klasse Guiemailaddress zeigt die Graphische Oberfläche für die Klasse Emailaddress.
*
* @author
* @version 30.5.2011
*/
public class Guiemailaddress extends Applet{
private Button hinzufuegen; // Ein Button hinzufuegen um eine Emailaddresse und Namen hinzufuegen
private Button neuhinzufuegen; // Gibt einen neuen Namen und Emailaddresse
private Button bearbeiten; // Loescht zb.: die alte Emailadresse und fuegt eine Neue hinzu
private Button loescheeintrag; // loescht einen ganzen Eintrag(Name+Email)
private Button loescheemail; // loescht nur die Emailaddresse einer Person
private TextField text; // Textfeld um die Emailaddressen anzuzeigen
String anzeige;
public void init(){
ActionHandler handler=new ActionHandler();
hinzufuegen=new Button("hinzufuegen"); // Alle Button werden erzeugt
neuhinzufuegen=new Button("neuhinzufuegen");
bearbeiten=new Button("bearbeiten");
loescheeintrag=new Button("loesche Eintrag");
loescheemail=new Button("loesche Email");
text= new TextField(); // Textfeld erzeugen
anzeige= "";
text.setEditable(false); // Diese Methode legt fest, ob man später noch in das Textfeld schreiben darf
text.setBackground(Color.WHITE); // Anfangshintergrund
text.setText("Hier stehen die EmailAddressen");
GridLayout g1=new GridLayout(1,2); // Layout setzten
setLayout(g1);
add(text);
Panel p1=new Panel(); // Panel fuer alle Button und für das Textfeld
p1.setLayout(new GridLayout(5,1));
p1.add(hinzufuegen);
p1.add(neuhinzufuegen);
p1.add(bearbeiten);
p1.add(loescheeintrag);
p1.add(loescheemail);
add(p1);
hinzufuegen.addActionListener(handler); // alle Button werden bei den ActionListener angemeldet
neuhinzufuegen.addActionListener(handler);
bearbeiten.addActionListener(handler);
loescheeintrag.addActionListener(handler);
loescheemail.addActionListener(handler);
text.addActionListener(handler);
}
private class ActionHandler implements ActionListener {
/**
* Diese Methode prüft welcher Button gedrückt wurde und führt darauf hin die dazu gehörende Methode aus.
*
*/
public void actionPerformed (ActionEvent e) {
if(e.getSource()==hinzufuegen){
// String t=showInputDialog("Bitte geben Sie ihre Emailaddresse ein");
Emailadress e1=new Emailadress();
e1.hinzufuegen("Antonio","SacredDevil5@hotmail.com");
anzeige="";
anzeige=anzeige + e1.hinzufuegen("Antonio","SacredDevil5@hotmail.com");
text.setText(anzeige);
// e1.machArray();
// if(t=="SacredDevil5@hotmail.com") {
// anzeige="Ihr Name ist"+" "+"Antonio";
// text.setText(anzeige);
// }
// anzeige="Diese Emailaddresse existiert in unseren Daten nicht";
// text.setText(anzeige);
}
if(e.getSource()==neuhinzufuegen){
String s=showInputDialog("Bitte gebe Sie einen Namen ein");
String t=showInputDialog("Bitte geben Sie ihre Emailaddresse ein");
anzeige=s+" "+t;
text.setText(anzeige);
}
if(e.getSource()==bearbeiten){
String s1=showInputDialog("Bitte geben Sie einen neuen Namen ein");
String s2=showInputDialog("Bitte geben Sie eine neue Emailaddresse ein");
anzeige=s1+" "+s2;
text.setText(anzeige);
// im textfeld anzeigen
}
if(e.getSource()==loescheeintrag){
anzeige="";
text.setText(anzeige);
}
if(e.getSource()==loescheemail){
Emailadress e2=new Emailadress();
e2.loeschenEmail("Testuser","Testuser@hotmail.com");
// String t=showInputDialog("Bitte geben Sie ihren Namen ein");
// anzeige=t+" "+"Ihre Emailaddresse wurde geloescht";
// text.setText(anzeige);
// im textfeld anzeigen
}
}
}
}
lg blue