"Adressbuch" erstellen - Problem schon bei Datumsüberprüfung

Status
Nicht offen für weitere Antworten.

Hecke

Aktives Mitglied
Hey Leute,
Unsere Aufgabe ist es, ein Adressbuch zu erstellen.

Doch meine erstes Problem ist schon, dass ich es nicht hinbekomme, dass beim Feld "Geburtstag" wirklich nur ein Datum eingegeben werden kann:
Die betroffene Klasse ist die hier (Den Teil, der nicht funktioniert habe ich auskommentiert):
Java:
//  Die Klasse Adress-Eingabe-Maske beim Projekt von Adressverwaltung

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 


public class AdressEingabeMaske extends JFrame implements ActionListener
{   
  private JTextField name, vorname, straße, hausnummer, telefon, postleitzahl, ort, eMail, anrede, ICQ, geburtstag ;
  private AdressListe aktuAdressliste;
  
   //Konstruktor
   // Über den Parameter pAdressliste im Konstruktor lernt diese die aktuelle Adressliste kennen
   // und kann deren öffentliche Methoden aufrufen.
  public AdressEingabeMaske(AdressListe pAdressliste)
  {
    super("Adresse");
    aktuAdressliste = pAdressliste;
    this.getContentPane().setBackground(Color.green);
    this.getContentPane().setLayout(null);
    //Anrede-Textfeld
    JLabel anredeLabel = new JLabel ("Anrede:");
    anredeLabel.setBounds (20, 10, 90, 30);
    this.getContentPane().add (anredeLabel);
    anrede = new JTextField (20);
    anrede.setBounds (120, 10, 90, 30);
    this.getContentPane().add (anrede);
    //Name-Textfeld
    JLabel nameLabel = new JLabel ("Name:");
    nameLabel.setBounds (20, 40, 90, 30);
    this.getContentPane().add (nameLabel); 
    name = new JTextField (20);
    name.setBounds (120, 40, 90, 30);
    this.getContentPane().add (name);
    //Vorname-Textfeld
    JLabel vornameLabel = new JLabel ("Vorname:");
    vornameLabel.setBounds (20, 70, 90, 30);
    this.getContentPane().add (vornameLabel); 
    vorname = new JTextField (20);
    vorname.setBounds (120, 70, 90, 30);
    this.getContentPane().add (vorname);
    //Straße-Textfeld
    JLabel straßeLabel = new JLabel ("Straße:");
    straßeLabel.setBounds (20, 100, 90, 30);
    this.getContentPane().add (straßeLabel);
    straße = new JTextField (20);
    straße.setBounds (120, 100, 90, 30);
    this.getContentPane().add (straße);
    //Hausnummer-Textfeld
    JLabel hausnummerLabel = new JLabel ("Hausnummer:");
    hausnummerLabel.setBounds (20, 130, 90, 30);
    this.getContentPane().add (hausnummerLabel);
    hausnummer = new JTextField (20);
    hausnummer.setBounds (120, 130, 90, 30);
    this.getContentPane().add (hausnummer);
    //Telefon-Textfeld
    JLabel telefonLabel = new JLabel ("Telefon:");
    telefonLabel.setBounds (20, 160, 90, 30);
    this.getContentPane().add (telefonLabel);
    telefon = new JTextField (20);
    telefon.setBounds (120, 160, 90, 30);
    this.getContentPane().add (telefon);
     //Postleitzahl-Textfeld
    JLabel PostleitzahlLabel = new JLabel ("Postleitzahl:");
    PostleitzahlLabel.setBounds (20, 190, 90, 30);
    this.getContentPane().add (PostleitzahlLabel);
    postleitzahl = new JTextField (20);
    postleitzahl.setBounds (120, 190, 90, 30);
    this.getContentPane().add (postleitzahl);
    //Ort-Textfeld
    JLabel OrtLabel = new JLabel ("Ort:");
    OrtLabel.setBounds (20, 220, 90, 30);
    this.getContentPane().add (OrtLabel);
    ort = new JTextField (20);
    ort.setBounds (120, 220, 90, 30);
    this.getContentPane().add (ort);
    //eMail-Textfeld    
    JLabel eMailLabel = new JLabel ("eMail:");
    eMailLabel.setBounds (20, 250, 90, 30);
    this.getContentPane().add (eMailLabel);
    eMail = new JTextField (20);
    eMail.setBounds (120, 250, 90, 30);
    this.getContentPane().add (eMail);
    //icq-Textfeld    
    JLabel ICQLabel = new JLabel ("ICQ-Nummer:");
    ICQLabel.setBounds (20, 280, 90, 30);
    this.getContentPane().add (ICQLabel);
    ICQ = new JTextField (20);
    ICQ.setBounds (120, 280, 90, 30);
    this.getContentPane().add (ICQ);
    //Geburtstag-Textfeld
    JLabel GeburtstagLabel = new JLabel ("Geburtstag:");
    GeburtstagLabel.setBounds (20, 310, 90, 30);
    this.getContentPane().add (GeburtstagLabel);
    geburtstag = new JTextField (20);
    geburtstag.setBounds (120, 310, 90, 30);
    this.getContentPane().add (geburtstag);
    
    //ok-Knopf
    JButton button = new JButton("ok");
    button.setBounds (120, 350, 90, 30);
    button.setBackground (Color.red);
    button.addActionListener(this);
    this.getContentPane().add(button);
  }

  Adresse getAdresse ()
  {
    Adresse dieseAdresse = new Adresse();
    dieseAdresse.setName (name.getText());
    dieseAdresse.setVorname (vorname.getText());
    return dieseAdresse;
  }
  
  public void actionPerformed(ActionEvent event)
  {
    String cmd = event.getActionCommand();
    if (cmd.equals("ok"))
    {
      aktuAdressliste.insert(getAdresse());
      dispose();
    }
  }
  /*
  public void insertString(int offs, String str,
                           AttributeSet a)
                           throws BadLocationException {

     // Überprüfen, ob nur Zahlen und Punkte eingegeben
     for (int i = 0; i < str.length(); i++) {
         char c = str.charAt(i);
         if (c != '.' && (c < '0' || c > '9'))
            return;
         }
     String text = getText(0, getLength())+str;

      // 1. Stelle Tag
      if (text.length () > 0)
         if (Integer.parseInt(text.substring(0, 1)) == 0 ||
             Integer.parseInt(text.substring(0, 1)) > 3)
            return;
     // Tag
     if (text.length () >= 2) {
        int date = Integer.parseInt(text.substring(0, 2));
        if (date < 1 || date > 31)
           return;
        }
     // Zweiter .
     if (text.length() >= 3)
        if (text.charAt(2) != '.')
           return;
     // 1. Stelle Monat
     if (text.length() >= 4)
        if (text.charAt(3) != '0' &&
           text.charAt(3) != '1')
           return;
     // Monat
     if (text.length() >= 5) {
        int month = Integer.parseInt(text.substring(3, 5));
        if (month == 0 || month > 12)
           return;
        }
    // Dritter .
    if (text.length() >= 6)
        if (text.charAt(5) != '.')
           return;
    // Maximale Länge
    if (text.length() > 10)
       return;
    // Punkte einbauen
    if (text.length() == 2 || text.length() == 5)
       str += ".";


    super.insertString(offs, str, a); */
    }

Die anderen Klassen:
Java:
//  Die Klasse Adresse beim Projekt Adressverwaltung


class Adresse
{
  // Attribute
  private String name;
  private String vorname;
  private String strasse;
  private int plz;
   private String wohnort;
   
   // Konstruktor
   // Erzeugt einen leeren Datensatz
   public Adresse ()
   {
      name = "";
    vorname = "";
    strasse = "";
    plz = -1;
    wohnort = "";
  } 
  
  // Methoden
  int compareTo (Adresse y)
  {
    return this.name.compareTo(y.getName());
  }
  
  void setName (String pName)
  {
    name = pName;
  }
  
  String getName()
  {
    return name;
  }
  
  void setVorname (String pVorname)
  {
    vorname = pVorname;
  }
  
  String getVorname()
  {
    return vorname;
  }

}

Java:
//Die Starter-Klasse
class Starter
{
  public static void main(String[] args)
   {  
    EinAus wnd = new EinAus();
    wnd.setSize(800,600);
    wnd.setVisible(true);
   }


}

Java:
//  Die Klasse Adress-Info-Maske beim Projekt von Adressverwaltung

//                                      

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 


public class AdressInfoMaske extends JFrame
{   
  private JTextField name, vorname;
  
   //Konstruktor
  public AdressInfoMaske()
  {
    super("Adresse");
    this.getContentPane().setBackground(Color.green);
    this.getContentPane().setLayout(null);
    //Name-Textfeld
    JLabel nameLabel = new JLabel ("Name:");
    nameLabel.setBounds (20, 40, 90, 30);
    this.getContentPane().add (nameLabel); 
    name = new JTextField (20);
    name.setBounds (120, 40, 90, 30);
    this.getContentPane().add (name);
    //Vorname-Textfeld
    JLabel vornameLabel = new JLabel ("Vorname:");
    vornameLabel.setBounds (20, 70, 90, 30);
    this.getContentPane().add (vornameLabel); 
    vorname = new JTextField (20);
    vorname.setBounds (120, 70, 90, 30);
    this.getContentPane().add (vorname);
  }

  void setAdresse (Adresse pAdresse)
  {
    name.setText (pAdresse.getName());
    vorname.setText (pAdresse.getVorname());  
  }
}

Java:
//  Die Klasse Adress-Liste beim Projekt von Adressverwaltung
//                                      

class AdressListe extends List
{
  public AdressListe()
  {
    super();
  }
  
  //insert fügt die neue Adresse richtig in die vorhandene Adress-Liste ein.
  public void insert (Adresse neueAdresse)
  {
    if (super.isEmpty())   //Falls die Adressliste leer ist
    {
       super.insertBehind (neueAdresse);  //neue Adresse vorne einfügen
    }
    else    // falls schon Adressen vorhanden sind, muss die richtige Position
            // gefunden werden
    {
      super.toFirst();     //  springe an den Anfang der Liste
      boolean eingefuegt = false;   
      while (!eingefuegt && !super.isBehind())  //solange nicht eingefügt und
      {                                         // nicht am Ende der Liste
        Adresse aktuelleAdresse =   (Adresse) getItem();
        if (neueAdresse.compareTo(aktuelleAdresse)<0)
              //Falls die neue Adresse alphabetisch vor der aktuellen liegt
        {
          super.insertInFrontOf(neueAdresse);   //füge die neue Adresse vor der aktuellen ein
          eingefuegt = true;  // schon eingefügt
        }
        else  //falls die neue Adresse alphabetisch nicht vor der aktuellen liegt
          super.next();   //gehe eine Position weiter in der Liste
      }
      
      
      
      
      if (!eingefuegt)
      {
        super.previous();
        Adresse aktuelleAdresse =   (Adresse) this.getItem();
        //Falls die neue Adresse vor der aktuellen liegt
        if (neueAdresse.compareTo(aktuelleAdresse)<0)
        {
          super.insertInFrontOf(neueAdresse);
        }
        else
        {
          super.insertBehind(neueAdresse);
        }
      }
    }
  }
}

Java:
//  Einfache graphische Benutzeroberfläche zur Verwaltung von Adressen.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 


public class EinAus extends JFrame implements ActionListener
{   
    private AdressListe meineAdressliste = new AdressListe();
    private AdressEingabeMaske meineEingabeMaske = null;
    private AdressInfoMaske meineInfoMaske = null;
    

    public EinAus()
    { 
      super("Verwaltung von Adressen");
      this.getContentPane().setBackground(Color.lightGray);
      this.getContentPane().setLayout(null);
      //Dialog-Button
      JButton button1 = new JButton("Weiter");
      button1.setBounds (320, 40, 150, 30);
      button1.setBackground (Color.red);
      button1.addActionListener(this);
      this.getContentPane().add(button1);
      //Ende-Button
      JButton button2 = new JButton("Reset");
      button2.setBounds (320, 80, 150, 30);
      button2.setBackground (Color.red);
      button2.addActionListener(this);
      this.getContentPane().add(button2);
      //Dialog-Button
      JButton button3 = new JButton("Neue Adresse");
      button3.setBounds (320, 120, 150, 30);
      button3.setBackground (Color.red);
      button3.addActionListener(this);
      this.getContentPane().add(button3);
      //Ende-Button
      JButton button4 = new JButton("Ende");
      button4.setBounds (320, 160, 150, 30);
      button4.setBackground (Color.red);
      button4.addActionListener(this);
      this.getContentPane().add(button4);

      //Window-Listener
      addWindowListener(new WindowAdapter()
      {
        public void windowClosing(WindowEvent event)
        {
          setVisible(false);
          dispose();
          System.exit(0);
         }
      });
    }



    public void actionPerformed(ActionEvent event)
    { 
      String cmd = event.getActionCommand();
      if (cmd.equals("Neue Adresse"))
      {
        meineEingabeMaske = new AdressEingabeMaske(meineAdressliste);
        meineEingabeMaske.setSize(500,400);
        meineEingabeMaske.setVisible(true);
      }
      else if (cmd.equals("Weiter"))
           {
              if (!meineAdressliste.isEmpty())
              {
                if (!meineAdressliste.isBehind())
                {
                   meineAdressliste.next();
                   if (!meineAdressliste.isBehind())
                   {
                      Adresse aktuelleAdresse = (Adresse) meineAdressliste.getItem();
                      if (meineInfoMaske != null)
                      {
                        meineInfoMaske.dispose();
                       }
                      meineInfoMaske = new AdressInfoMaske();
                      meineInfoMaske.setSize(300,200);
                      meineInfoMaske.setVisible(true);
                      meineInfoMaske.setAdresse (aktuelleAdresse);
                    }
                }
              }
            }
            else if (cmd.equals("Reset"))
            {
              if (!meineAdressliste.isEmpty())
              {
                 meineAdressliste.toFirst();
                 Adresse aktuelleAdresse = (Adresse) meineAdressliste.getItem();
                 if (meineInfoMaske != null)
                 {
                   meineInfoMaske.dispose();
                 }
                 meineInfoMaske = new AdressInfoMaske();
                 meineInfoMaske.setSize(300,200);
                 meineInfoMaske.setVisible(true);
                 meineInfoMaske.setAdresse (aktuelleAdresse);
               }
             }
        
             else if (cmd.equals("Ende"))
             {
               setVisible(false);
               dispose();
               System.exit(0);
             }
    }
}

Java:
// Basisklassse lineare Datenorganisation

public class Element
{ 
  private Object inhalt;
  private Element nachfolger;
  
  public Element (Object neuerlnhalt, Element neuerNachfolger)
   {    
      inhalt = neuerlnhalt;
      nachfolger = neuerNachfolger;
  }
  
  public Element (Object neuerInhalt)
  {
        inhalt = neuerInhalt;
        nachfolger = null;

  }
  
  public void setInhalt ( Object neuerlnhalt)
   {  
     inhalt = neuerlnhalt;
   }
  public Object getInhalt()
   {  
     return inhalt;
   }
   public void setNachfolger(Element neuerNachfolger)
   {    
     nachfolger = neuerNachfolger;
  }
   public Element getNachfolger()
   {    
     return nachfolger;
  }
}

Java:
public class List
{
   /* Listenklasse mit Zugriffsmethoden .
        */
    private Element kopf;
    public Element aktuell;

    public List()
    {
        kopf = new Element("Start");
        aktuell = kopf;
    }


    public boolean isEmpty()
    {
       if (kopf.getNachfolger()==null)
       return true;
        else return false;
    }
    
    public boolean isInFrontOf()
     {
         return (aktuell ==kopf);
     }

     public boolean isBehind()
     {
         return (aktuell == null);
     }
     
     public void next()
     {
        if (!isBehind())
        {
            aktuell = aktuell.getNachfolger();
        }
     }
     
     public void previous()
     {
         if(!isInFrontOf())
         {
           Element help =  aktuell;
           toFirst();
           if (!(aktuell==help))
           {
              while(aktuell.getNachfolger()!=help)
              {
                next();
              }
           }
           else aktuell = kopf;

         }
     }
     
     public void toFirst()
     {
         aktuell = kopf.getNachfolger();
     }
     
     public void toLast()
     {
        if(isEmpty())
         {
           aktuell=kopf;
         }
         else
         {
            toFirst();
            while(! (aktuell.getNachfolger()==null))
            {
               next();
            }
         }
     }
    public Object getItem()
    {
      if(isEmpty())
           {
             return null;
           }
           else if (isInFrontOf())
           {
               return null;
           }
           else if(isBehind())
                 {
                     return null;
                 }
                 else
                 {
                     return aktuell.getInhalt();
                 }
    }

    public void replace(Object ersatz)
    {
      if(!isEmpty() & !isBehind() & !isInFrontOf())
      {
          aktuell.setInhalt(ersatz);
      }
    }
     
    public void insertBehind (Object pObject)
    {
      if(!isBehind())
       {
         Element neu = new Element(pObject,null);
         neu.setNachfolger(aktuell.getNachfolger());
         aktuell.setNachfolger(neu);
         aktuell=neu;
       }
     }

     public void insertInFrontOf (Object pObject)
    {
      if(!isInFrontOf())
      {
          Element neu = new Element(pObject,aktuell);
          Element help =aktuell;
          toFirst();
          if(aktuell==help)
           {
             kopf.setNachfolger(neu);
           }
          else
          {
              while(!(aktuell.getNachfolger()==help) )
              {
                next();
              }
              aktuell.setNachfolger(neu);
               aktuell=help;
          }
      }
     }
    public void remove()
    {
      if(!isBehind() && !isInFrontOf())
      {
        Element help = aktuell;
        previous();
        aktuell.setNachfolger(help.getNachfolger());
        aktuell = help.getNachfolger();
        
      }
    }
}


Ich wäre euch für Hilfe mega-dankbar!
 

Hecke

Aktives Mitglied
Vielen Dank für deine Antwort.
Aber bin noch relativer Neuling und verstehe nicht, was ich damit machen soll... :(
 

Landei

Top Contributor
Deine Überprüfung ist Overkill. Nimm einen JSpinner und eine SpinnerDateModel - oder eine der vielen fertigen Kalenderkomponenten (es gibt auch ausklappbare, ähnlich wie eine JCombobox)

Übrigens ist zwanzigmal sowas:
Java:
    JLabel anredeLabel = new JLabel ("Anrede:");
    anredeLabel.setBounds (20, 10, 90, 30);
    this.getContentPane().add (anredeLabel);
    anrede = new JTextField (20);
    anrede.setBounds (120, 10, 90, 30);
    this.getContentPane().add (anrede);
ziemlich unübersichtlich und sollte in Methoden ausgelagert werden:
Java:
    makeLabel("Anrede:", 20, 10, 90, 30);
    anrede = makeTextField (20,120, 10, 90, 30);
...
    private void makeLabel(String text, int x, int y, int w, int h) {
       JLabel label = new JLabel (text);
       label.setBounds (20, 10, 90, 30);
       this.getContentPane().add (label);
    }
    private makeTextField(int cols, int x, int y, int w, int h) {
       JTextField tf = new JTextField (cols);
       tf.setBounds (x, y, w, h);
       this.getContentPane().add (tf);
       return tf;
   }

Noch besser wäre natürlich die Nutzung eines LayoutManagers - dafür sind sie da.
 

Hecke

Aktives Mitglied
Vielen Dank Leute,
aber ich verstehe leider gar nichts.

Diesen jSpinner und das SpinnerDateModel hatten wir leider im Unterricht noch nicht - Kann mir das jemand erklären wo ich das einzufügen habe und wie usw.?

Vielen Dank! :)
 

Hecke

Aktives Mitglied
@ARadauer
Wenn ich das hinbekommen würde, wäre es mehr als genial.
Aber ich saß hier jetzt stundenlang dran und dann hat meine Schwester meine Fortschritte gelöscht, sodass jetzt wieder nur das oben genannnte Programm geblieben ist :(

Jetzt habe ich hier am PC nur NetBeans und da finde ich gar nicht dran lang :'(

Aufgabe ist es, theoretisch nur eine Sicherung für die Felder einzubauen (nur Daten bei Geburtstag eingeben können, nur Buchstaben bei Name eingeben können usw. +
- und noch eine Suchfunktion für das Adressbuch:()

Irgendwie hat NetBeans eine Main-Klasse erstellt, bei der ich nicht weiß, was die soll und an dem ActionListener meckert es auch noch rum.

Ich weiß nicht mehr weiter :(
Übermorgen ist Abgabe :(
 

Hecke

Aktives Mitglied
Jetzt kommt in der Klasse:
Java:
// Maries=nschule, IF Stufe 12
//  Die Klasse Adress-Info-Maske beim Projekt von Adressverwaltung

//                                      

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 


public class AdressInfoMaske extends JFrame implements ActionListener
{   
  private JTextField name, vorname, straße, hausnummer, telefon, postleitzahl, ort, eMail, anrede, ICQ, geburtstag ;
  private AdressListe aktuAdressliste;
  
   //Konstruktor
  public AdressInfoMaske()
  {
    super("Adresse");
    this.getContentPane().setBackground(Color.green);
    this.getContentPane().setLayout(null);
    //Anrede-Textfeld
    JLabel anredeLabel = new JLabel ("Anrede:");
    anredeLabel.setBounds (20, 10, 90, 30);
    this.getContentPane().add (anredeLabel);
    anrede = new JTextField (20);
    anrede.setBounds (120, 10, 90, 30);
    this.getContentPane().add (anrede);
    //Name-Textfeld
    JLabel nameLabel = new JLabel ("Name:");
    nameLabel.setBounds (20, 40, 90, 30);
    this.getContentPane().add (nameLabel); 
    name = new JTextField (20);
    name.setBounds (120, 40, 90, 30);
    this.getContentPane().add (name);
    //Vorname-Textfeld
    JLabel vornameLabel = new JLabel ("Vorname:");
    vornameLabel.setBounds (20, 70, 90, 30);
    this.getContentPane().add (vornameLabel); 
    vorname = new JTextField (20);
    vorname.setBounds (120, 70, 90, 30);
    this.getContentPane().add (vorname);
    //Straße-Textfeld
    JLabel straßeLabel = new JLabel ("Straße:");
    straßeLabel.setBounds (20, 100, 90, 30);
    this.getContentPane().add (straßeLabel);
    straße = new JTextField (20);
    straße.setBounds (120, 100, 90, 30);
    this.getContentPane().add (straße);
    //Hausnummer-Textfeld
    JLabel hausnummerLabel = new JLabel ("Hausnummer:");
    hausnummerLabel.setBounds (20, 130, 90, 30);
    this.getContentPane().add (hausnummerLabel);
    hausnummer = new JTextField (20);
    hausnummer.setBounds (120, 130, 90, 30);
    this.getContentPane().add (hausnummer);
    //Telefon-Textfeld
    JLabel telefonLabel = new JLabel ("Telefon:");
    telefonLabel.setBounds (20, 160, 90, 30);
    this.getContentPane().add (telefonLabel);
    telefon = new JTextField (20);
    telefon.setBounds (120, 160, 90, 30);
    this.getContentPane().add (telefon);
     //Postleitzahl-Textfeld
    JLabel PostleitzahlLabel = new JLabel ("Postleitzahl:");
    PostleitzahlLabel.setBounds (20, 190, 90, 30);
    this.getContentPane().add (PostleitzahlLabel);
    postleitzahl = new JTextField (20);
    postleitzahl.setBounds (120, 190, 90, 30);
    this.getContentPane().add (postleitzahl);
    //Ort-Textfeld
    JLabel OrtLabel = new JLabel ("Ort:");
    OrtLabel.setBounds (20, 220, 90, 30);
    this.getContentPane().add (OrtLabel);
    ort = new JTextField (20);
    ort.setBounds (120, 220, 90, 30);
    this.getContentPane().add (ort);
    //eMail-Textfeld
    JLabel eMailLabel = new JLabel ("eMail:");
    eMailLabel.setBounds (20, 250, 90, 30);
    this.getContentPane().add (eMailLabel);
    eMail = new JTextField (20);
    eMail.setBounds (120, 250, 90, 30);
    this.getContentPane().add (eMail);
    //icq-Textfeld
    JLabel ICQLabel = new JLabel ("ICQ-Nummer:");
    ICQLabel.setBounds (20, 280, 90, 30);
    this.getContentPane().add (ICQLabel);
    ICQ = new JTextField (20);
    ICQ.setBounds (120, 280, 90, 30);
    this.getContentPane().add (ICQ);
    //Geburtstag-Textfeld
    JLabel GeburtstagLabel = new JLabel ("Geburtstag:");
    GeburtstagLabel.setBounds (20, 310, 90, 30);
    this.getContentPane().add (GeburtstagLabel);
    geburtstag = new JTextField (20);
    geburtstag.setBounds (120, 310, 90, 30);
    this.getContentPane().add (geburtstag);

    //ok-Knopf
    JButton button = new JButton ("ok");
    button.setBounds (120, 350, 90, 30);
    button.setBackground (Color.red);
    button.addActionListener(this);
    this.getContentPane().add(button);
  }

  void setAdresse (Adresse pAdresse)
  {
    name.setText (pAdresse.getName());
    vorname.setText (pAdresse.getVorname());  
  }
}

der folgende Fehler:


(schnelle) Hilfe wäre klasse!
 
S

SlaterB

Gast
die Fehlermeldung sagt alles,
wieso implementierst du ein bestimmtes Interface, aber dann nicht die benötigten Methoden?

in AdressEingabeMaske ganz oben ist die Methode übrigens vorhanden
 

Hecke

Aktives Mitglied
Ah, vielen Dank.

Jetzt habe ich es so:
Java:
// Maries=nschule, IF Stufe 12
//  Die Klasse Adress-Info-Maske beim Projekt von Adressverwaltung

//                                      

import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 


public class AdressInfoMaske extends JFrame implements ActionListener
{   
  private JTextField name, vorname, straße, hausnummer, telefon, postleitzahl, ort, eMail, anrede, ICQ, geburtstag ;
  private AdressListe aktuAdressliste;
  
   //Konstruktor
  public AdressInfoMaske()
  {
    super("Adresse");
    this.getContentPane().setBackground(Color.green);
    this.getContentPane().setLayout(null);
    //Anrede-Textfeld
    JLabel anredeLabel = new JLabel ("Anrede:");
    anredeLabel.setBounds (20, 10, 90, 30);
    this.getContentPane().add (anredeLabel);
    anrede = new JTextField (20);
    anrede.setBounds (120, 10, 90, 30);
    this.getContentPane().add (anrede);
    //Name-Textfeld
    JLabel nameLabel = new JLabel ("Name:");
    nameLabel.setBounds (20, 40, 90, 30);
    this.getContentPane().add (nameLabel); 
    name = new JTextField (20);
    name.setBounds (120, 40, 90, 30);
    this.getContentPane().add (name);
    //Vorname-Textfeld
    JLabel vornameLabel = new JLabel ("Vorname:");
    vornameLabel.setBounds (20, 70, 90, 30);
    this.getContentPane().add (vornameLabel); 
    vorname = new JTextField (20);
    vorname.setBounds (120, 70, 90, 30);
    this.getContentPane().add (vorname);
    //Straße-Textfeld
    JLabel straßeLabel = new JLabel ("Straße:");
    straßeLabel.setBounds (20, 100, 90, 30);
    this.getContentPane().add (straßeLabel);
    straße = new JTextField (20);
    straße.setBounds (120, 100, 90, 30);
    this.getContentPane().add (straße);
    //Hausnummer-Textfeld
    JLabel hausnummerLabel = new JLabel ("Hausnummer:");
    hausnummerLabel.setBounds (20, 130, 90, 30);
    this.getContentPane().add (hausnummerLabel);
    hausnummer = new JTextField (20);
    hausnummer.setBounds (120, 130, 90, 30);
    this.getContentPane().add (hausnummer);
    //Telefon-Textfeld
    JLabel telefonLabel = new JLabel ("Telefon:");
    telefonLabel.setBounds (20, 160, 90, 30);
    this.getContentPane().add (telefonLabel);
    telefon = new JTextField (20);
    telefon.setBounds (120, 160, 90, 30);
    this.getContentPane().add (telefon);
     //Postleitzahl-Textfeld
    JLabel PostleitzahlLabel = new JLabel ("Postleitzahl:");
    PostleitzahlLabel.setBounds (20, 190, 90, 30);
    this.getContentPane().add (PostleitzahlLabel);
    postleitzahl = new JTextField (20);
    postleitzahl.setBounds (120, 190, 90, 30);
    this.getContentPane().add (postleitzahl);
    //Ort-Textfeld
    JLabel OrtLabel = new JLabel ("Ort:");
    OrtLabel.setBounds (20, 220, 90, 30);
    this.getContentPane().add (OrtLabel);
    ort = new JTextField (20);
    ort.setBounds (120, 220, 90, 30);
    this.getContentPane().add (ort);
    //eMail-Textfeld
    JLabel eMailLabel = new JLabel ("eMail:");
    eMailLabel.setBounds (20, 250, 90, 30);
    this.getContentPane().add (eMailLabel);
    eMail = new JTextField (20);
    eMail.setBounds (120, 250, 90, 30);
    this.getContentPane().add (eMail);
    //icq-Textfeld
    JLabel ICQLabel = new JLabel ("ICQ-Nummer:");
    ICQLabel.setBounds (20, 280, 90, 30);
    this.getContentPane().add (ICQLabel);
    ICQ = new JTextField (20);
    ICQ.setBounds (120, 280, 90, 30);
    this.getContentPane().add (ICQ);
    //Geburtstag-Textfeld
    JLabel GeburtstagLabel = new JLabel ("Geburtstag:");
    GeburtstagLabel.setBounds (20, 310, 90, 30);
    this.getContentPane().add (GeburtstagLabel);
    geburtstag = new JTextField (20);
    geburtstag.setBounds (120, 310, 90, 30);
    this.getContentPane().add (geburtstag);

    //ok-Knopf
    JButton button = new JButton ("ok");
    button.setBounds (120, 350, 90, 30);
    button.setBackground (Color.red);
    button.addActionListener(this);
    this.getContentPane().add(button);
  }

  void setAdresse (Adresse pAdresse)
  {
    name.setText (pAdresse.getName());
    vorname.setText (pAdresse.getVorname());  
  }
     Adresse getAdresse ()
  {
    Adresse dieseAdresse = new Adresse();
    dieseAdresse.setName (name.getText());
    dieseAdresse.setVorname (vorname.getText());
    return dieseAdresse;
  }
    
    public void actionPerformed(ActionEvent event)
      {
        String cmd = event.getActionCommand();
        if (cmd.equals("ok"))
        {
          aktuAdressliste.insert(getAdresse());
          dispose();
        }
    
}}

...und es compiliert schonmal fehlerlos. Ich weiß jetzt nur nicht, ob es Sinn macht, dass ich genaz das Gleiche in AdressInfoMaske schreibe, wie in AdressEingabeMaske... :(
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
scratchy1 Adressbuch Java Basics - Anfänger-Themen 100
T Adressbuch Java Basics - Anfänger-Themen 11
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
Z Erste Schritte Adressbuch Klassen Java Basics - Anfänger-Themen 4
B bitte mal meinen adressbuch-code checken Java Basics - Anfänger-Themen 14
T Adressbuch Java Basics - Anfänger-Themen 2
XWing Int erstellen lassen? Java Basics - Anfänger-Themen 11
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S Programm erstellen Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
T Countdown erstellen Java Basics - Anfänger-Themen 7
I ZIP File erstellen Java Basics - Anfänger-Themen 10
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
E Classpath Datai erstellen Java Basics - Anfänger-Themen 3
B eine methode erstellen Java Basics - Anfänger-Themen 7
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
M Packages erstellen mit Java-Editor Java Basics - Anfänger-Themen 6
L FinanzApp erstellen Java Basics - Anfänger-Themen 1
J Junit4 Klasse erstellen Java Basics - Anfänger-Themen 5
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
JaVaN0oB Bruchklasse erstellen Java Basics - Anfänger-Themen 9
N Kreismuster auf Bestehendem Kreis erstellen Java Basics - Anfänger-Themen 10
K Rahmen erstellen mit mehrdimensionalem Array Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
GermanPie Discord Text Channel erstellen? Java Basics - Anfänger-Themen 1
K Objektdiagramm erstellen Java Basics - Anfänger-Themen 3
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
D Klassen Klassendiagramm richtig erstellen Java Basics - Anfänger-Themen 20
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
E Filmsammlung erstellen Java Basics - Anfänger-Themen 6
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
M Erstellen eines insets Objekts, GridBagLayout Java Basics - Anfänger-Themen 13
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
N String N-Gramme mit Stream erstellen Java Basics - Anfänger-Themen 7
K Quersumme erstellen Java Basics - Anfänger-Themen 7
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
C Erstellen eines Widerstandsnetzwerks Java Basics - Anfänger-Themen 10
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben