# Hilfe bei einer Java-Aufgabe



## ToHo-Girl (26. Jul 2006)

Kennt hier jemand oder ist jemand bereit einem Zweier-Team bei einer Java-Aufgabe zu helfen?
Wir haben schon die GUI-Klassen und die Fachkonzept-Klassen (wobei hier noch Fehler angezeigt werden).
Uns fehlt eine Speicher-Klasse und Methoden, die beim Ausführen der Buttons, bestimmte Befehle ausführen. 
Wir zwei bekommen es seit Tagen einfach nicht gebacken. Bitte meldet euch.

Danke schon im Voraus.
ngohoa@web.de


----------



## foobar (26. Jul 2006)

Wo genau liegt denn das Problem? Fliegen Exceptions? Funktioniert etwas nicht so wie es soll? 
Beschreib das Problem doch mal etwas genauer, dann können wir dir  bestimmt helfen.


----------



## ToHo-Girl (26. Jul 2006)

Wir haben es mit netBeans gemacht.
Wir haben es so gedacht wir:
zuerst kommt ein Fenster zum Einloggen, wenn der Benutzer Matrikelnummer und Passwort (sein Nachnamen) eingegeben hat kommt das KlausurAnmeldungsFenster, wo er sich dann für die Klausuren anmelden kann.

Für die Buttons fehlen Methoden, die genau das machen sollen. wir wissen einfach nicht wo, die methoden in der GUI hingeschrieben werden. und wie wir die Methode deklarieren sollen.

Sobald der Benutzer beim Einloggen auf OK drückt, soll in der Datenbank geprüft werden, ob Matrikelnummer und Nachname stimmt. und dann soll das Klausur-Anmelde-Fenster kommen.

Aber darf ich dir die Klassen per eMail oder über msn schicken?


----------



## foobar (26. Jul 2006)

> Aber darf ich dir die Klassen per eMail oder über msn schicken?


Och wir machen das hier im Forum Stück für Stück, damit alle etwas davon haben.

Du mußt dem Buton einen ActionListener übergeben, damit der weiß was er machen soll:


```
btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActinListener()
{
   public void actionPerformed(ActionEvent e)
   {
      // hole MatrikelNummer und Benutzername aus den Textfeldern
 // und uebergebe diese der Geschaeftslogikschicht
   }
});
```

Welche DB verwendet ihr denn?


----------



## Guest (26. Jul 2006)

mit Access haben wir eine Student-Tabelle erstellt mit folgenden Attributen:
Student (Matrikelnummer, Name, Vorname, Geburtsdatum, Geschlecht, Adresse, Telefonnummer).


----------



## ToHo-Girl (26. Jul 2006)

ist das so richtig?
also im actionPerformed-Block

will ich, dass er die Access-DB (LN1-DB) die Student-Tabelle, die Felder Matrikelnummer und Nachname prüft, ob eine übereinstimmung vorhanden ist.

wenn ja, dann weiter zur Klausuranmeldung.

wenn nein, dann kommt hat der Benutzer noch 2 Versuche.
wenn es nach 3 versuchen immer noch nicht richtig ist, dann soll er sich an den zuständigen wenden.


```
for (int i=0; i<getMatrikelnummer().; i++){
    if (getMatriknummer.getStudent(i).getMatrikelnummer == Textfeld.getText){
        if (getName.getStudent(i).getName == Textfield.getText){
            this.Loggedin = true;
            this.setVisible(false);
        }
    }
}
```

so haben wir es gemacht, aber funktioniert nicht, aber dann kommt ein Fehler in der main-Methode: illegal start of expression.


----------



## Drizztd (26. Jul 2006)

Glaub nicht das das richtig ist getText liefert doch bestimmt einen String zurück und den vergleicht man mit
equals.

Würd euch auch empfehlen für die Daten die ihr eh immer wieder brauch ne Singelton klasse anzulegen, also eine klasse   von der es nur 1 instance gibt.


----------



## SamHotte (27. Jul 2006)

Hinter 'Textfeld.getText' fehlen "()", denn das soll vermutlich ein Methodenaufruf sein.

Des weiteren daran gewöhnen, Variablennamen klein zu schreiben.


----------



## foobar (27. Jul 2006)

Wenn getMatrikelnummer einen int liefert mußt du den erst in einen String konvertieren:


```
for (int i=0; i<getMatrikelnummer().; i++)
{
    if(""+getMatriknummer.getStudent(i).getMatrikelnummer.equals(Textfeld.getText()))
{
     if(getName.getStudent(i).getName().equals(Textfield.getText()))
        {
            this.Loggedin = true;
            this.setVisible(false);
      }
    }
}
```


----------

