Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo, habe folgendes Problem:
Ich habe eine Klasse A und einen "Ok Knopf".
Nun möchte ich, wenn der Ok gedrückt wird, das automatisch ein objekt der Klasse A erzeugt wird.
Normalerweise, ohne Knopf, würde man es ja so schreiben wenn die Klasse A heißt.
A<ObjektName>;
Wie muss ich aber vorgehen, dass der Objektname variable wird, meinetwegen ein String mit einem index, oder nur ein index...Hab schone diverse möglichkeiten getestet aber es nicht hinbekommen.
Hmm Ok, und wie würde das aussehen wenn ich bisher das habe?...
.
.
.
void addStuff_actionPerformed(ActionEvent e) {
EigeneKlasse ObjektVonEigeneKlasse = new EigeneKlasse();
}
..
..
<EDIT>
So, hab das jetzt mit einem Vectorobject gelöst hoffe ich, Danke soweit!
Ok, die Objekte müssten jetzt im array stehen. Aber wie greif ich jetzt auf die Objekte im Array so zu, dass ich auch die funktionen bekomme die die Objekte der Klasse haben?
So siehts aus im moment:
..
int j = 0;
Vector Array = new Vector(20);
...
..
...
..
void addStuff_actionPerformed(ActionEvent e) {
try
{
Mitarbeiter Fritz = new Mitarbeiter();
Array.add(j,Fritz);
j++;
}
Bis Java 1.4.x sind alle Elemente im Vector vom Typ Object. Um wieder an die ursprüglichen Typen zu kommen, muß man casten:
Code:
lurch = (Mitarbeiter)Array.get(5);
Wobei die Instanz eines Vectors "Array" zu nennen, nicht unbedingt eine gute Wahl ist. Ich wäre für sowas wie "mitarbeiterList" gemäß normaler Java-Nomenklatur für Variablen (vorne klein, danach Binnenmajuskel).
Ja, soweit hab ich das auch schon gemacht, aber ich kann so trotzdem nicht auf ein Atribut von Fritz zugreifen.
Z.B. Fritz.name müsste doch dann als Lurch.name zugreifbar sein, oder mach ich da noch was falsch?
Mit der Nomenklatur hast du recht!
Falls Du Fritz.name zugewiesen hast und dann Fritz in den Vector geschoben hast, dann Lurch vom Typ Mitarbeiter aus dem Vector von der richtigen Position ausliest und auf Mitarbeiter castest, kannst Du natürlich auch mit lurch.name auf das Attribut zugreifen, das ursprünglich Fritz gehört hat.
Was genau geht denn nicht? Eventuell mußt Du halt auch mehr Code posten, damit man weiß, was Du genau machst...
Object Personal = new Object();
.
.
.
void addStuff_actionPerformed(ActionEvent e) {
Mitarbeiter Fritz = new Mitarbeiter("name");
mitarbeiterListe.add(j,Fritz);
j++;
Personal= (Mitarbeiter)mitarbeiterListe.get(0);
}
So hab ich es jetzt.
Mit Fritz.name bekomme ich Zugriff auf den Name von Fritz.
Personal.irgendwas hat keinerlei funktionen/attribute die auch Fritz hat.
Wo liegt der Fehler?