JTextField als new [...] einlesen

hallo alle miteinander,

ich habe ein wichtiges Problem in Java, denn ich msus das Projekt morgen in der Schule abgeben (dazu hatten ewir siet heute früh zeit) Hilfsmittel wie foren und google sind natürlich erlaubt, aber leider hat mir die suchmaschine nichts gutes ausgegeben!

mein Problem:
Ich habe BlueJ (von der shcule vorgegeben, gehen aber auch andere Entwicklungsumgebungen wie JBuilder,…) in der ich 2 Hauptklassen habe:

  1. WARTESCHLANGE
  2. PATIENT
    Das ganze soll natürlich eine Arztpraxis sarstellen^^

Und die Schwierigkeit:
In WARTESCHLANGE wird ein JFrame mit einem eingabefeld (JTextField) und einem JButton erzeugt.
Klickt man auf den Button, so soll das JTextField ausgelesen werden.
So weit ist es ja noch einfach:
eingabe**.getText();**

Nun soll er aber Standartmäßig mit dieser Eingabe einen neuen Partienten erzeugen, und da liegt mien Problem an der sache, denn folgendes geht nicht :

PATIENT eingabe.getText() = new PATIENT();

auch geht das hier nicht:

String neu = eingabe.getText();
PATIENT neu = new PATIENT();

Die Frage:
Also wie schaffe ich es, dass er mit einen neuen Partienten erzeugt, der so heißt wwie das Eingabefeld?

Vielen Dank für gute Antworten schon mal im Vorraus^^
Und gemerkt: bis morgen mittag muss ich es fertig haben, also bitte gleich gute und vollständige Antworten wenn es geht :wink:

glg
Christopher

Hallo Christopher,

ich denke das hier ist kein ‚Hausaufgabenlösen‘-Portal, aber helfen will ich dir trotzdem.

Das mit dem Eingabefeld abfragen hast du ja schon ganz gut hinbekommen. Aber mal abgesehen davon: Weisst du denn, wie du einen PATIENT normalerweise erstellst? Hat der (Konstruktor der Klasse PATIENT) irgendwelche Parameter? Falls ja, wie lässt sich der Teil den du schon hast, mit dem neuen Wissen verbinden?

Und schon hast du die Lösung :smile:

hey^^

Du sprichst in Rätseln :smiley:
Und leid erhabe ich es immer noch nicht hinbekommen, und mittlerweile find ich es sogar sehr interessant, da ich shcon tausende möglichkeinten Ausprobiert habe!

Um auf deine Antwrot zurückzugreifen:
Normalerweise wird im Konstruktor der Klasse PATIENT ein Instanzname eingegeben, sobald man per hand ienen neuen PATIENTEN erzeugt!

Möchte ich aber einen PATIENTEN in einer anderen Klasse (hier WARTESCHLANGE) erzeugen, so hab ich das imer wie folgt gemacht:

PATIENT heinz = new PATIENT();
heinz.name = „heinz“;

(Ihm wird wirklich noch der name in einer Variable abgespeichert! damit man ihn nachher leichter finden kann!)

Aber sobald ich statt heinz , ein eingabe.getText() oder einen String, in dem der Inhalt des Textfeldes drinnen steht einfüge, so meckert er immer und meint, das der sting shcon vorhanden ist und dass er ein „;“ erwartet!

Also bitte helf mir auf die Sprünge, ich weiß, dass ich langsam im verstehen bin, währ mir aber echt wichtig!

glg
Christopher

Aber sobald ich statt heinz , ein
eingabe.getText() oder einen String, in dem der Inhalt
des Textfeldes drinnen steht einfüge, so meckert er immer und
meint, das der sting shcon vorhanden ist und dass er ein „;“
erwartet!

Du sollst mit eingabe.getText() nicht die Variable heinz ersetzen, sondern den WERT von ‚name‘ ändern.

PATIENT heinz = new PATIENT();
heinz.name = „heinz“;

(Ihm wird wirklich noch der name in einer Variable
abgespeichert! damit man ihn nachher leichter finden kann!)

Heinz ist ein Objekt der Klasse Patient, das ein Feld mit der Bezeichnug name hat. An dieses kommt man mit heinz.name heran und du setzt es in diesem Fall auf den Wert „heinz“.
Endweder setzt Du auf diese Weise den Wert für heinz.name aus der Rückgabe von Deinem getText(), also:
heinz.name = getText(blafasel);
Oder es gibt (was ich nicht Hellsehen kann) schon einen Konstruktor für ein Patientenobjekt, dem man den Namen mitgeben kann:
Patient heinz = new Patient(getText(blafasel));

Vielleicht sollte Euch Euer Lehrer mal beibringen, wie die Instanziirung von Objekten funktioniert, was Klassenvariablen sind und sowas, anstatt mit GUIs und ner krassen Entwicklungsumgebung um sich zu schmeißen. Der Wissenstand von Lehrern scheint in der Tat unterirdisch zu sein…

hey^^

dnake, das hab ich jetzt verstanden!
Und das ich das nicht wusste, liegt daran, dass ich seit vielen Jahren Visual Basic Programmiere und Java ein wenig fremd für mich ist :wink:

also vielen herzlichen dank, ich setze es gleich um!

glg
Chrisotpher