Dynamisch Attribute hinzufügen

Status
Nicht offen für weitere Antworten.
A

A_Christoph

Gast
Hallo, ich habe ein pzinzipielles Problem im Zusammenhang mit Attributen, vielleicht kann mir jemand helfen

Ich habe eine Klasse, in der bereits bestimmte Attribute mit ihren Datentyp vorhanden sind. Nun lege ich davon ein Objekt an und gebe dem Benutzer über eine Oberfläche die Möglichkeit, hierbei die Attribute mit Werten zu füllen. Nun will ich aber, dass der Benutzer noch einen Button "define Attributes" zur Verfügung hat, mit dem er noch weitere Attribute mit ihren Datentypen definieren kann. Wie kann ich dies nun effizient implementieren/abspeichern? Ein weiteres Problem dabei ist, dass diese neuen Attribute für alle weiteren Objekte ebenfalls gelten muss, die ich von dieser Klasse aus erzeuge bzw. bereits irgendwann mal erzeugt habe. Hat da jemand eine Idee? Es hilft mir auch weiter, wenn mir jemand nur einen Gedankenanstoss oder Ähnliches geben kann, denn ich komm im Moment auf keinen vernünftigen Zweig.


Danke im Voraus für Eure Tipps

Grüße Christoph
 
R

Roar

Gast
also "echte" Felder den Klassen hinzuzufügen geht natürlich nicht. Eine Möglichkeit die mir gerade eingefallen ist ist eine private statische Klassenvariable vom typ Hashtable. In der kannst du ein Key und Value speichern. Du musst allerdings entsprechende Methoden zu deiner klasse hinzufügen die dir felder ausgibt und einfügt etc.
Da deine Hashtable statisch ist gilt sie für alle Instanzen des objekts.

z.B. so:

Code:
class DynamicFields {

private static Hashtable fields = new Hashtable();

public DynamicFields() {
}

public addField(Object name) {
     addField(name, null);
}

public addField(Object name, Object value) {
     fields.put(name, value);
}

public Object getField(Object name) {
     fields.get(name);
}
}

das is jetz nur spo dahingekrakelt. du könntest auch theoretisch ein eigenes objekt ala Hashtable bauen das aber 3 oder mehr werte aufnehmen kann und z.B. noch den klassentyp speichert.
 
A

A_Christoph

Gast
Zunächst mal danke für den schnellen Post,

wenn ich deine Idee richtig verstehe, so haben nun hierbei alle Objekte die gleichen Attributnamen, aber auch die gleichen Werte. Das soll aber nicht passieren. Denn ich will zwar dass alle Objekte, die hierbei angelegt werden, die selben Attribute haben (Bsp. Hausnummer), aber andere Werte klarerweise. Dies ist aber mit deiner Idee nicht vereinbar wenn ich dich richtig verstehe oder?

Danke für deine Hilfe ,
Grüße Christoph
 
R

Roar

Gast
hm? moment das versteh ich jetzt nicht. du kannst z.B. die klasso so nutzen:

Code:
DynamicFields df1 = new DynamicFields(),
df1.addField("Hausnummer", new Integer(123)));
DynamicFields df2 = new DynamicFields();
System.out.println(df2.getField("Hausnummer"));
// Ausgabe:
// 123

also das geht auch mit mehrere objekten dieser klasse, oder wie meinst du das?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
E RMI FWH: RMI- Wie erstelle ich stubs dynamisch, bzw. unterdrücke eine Statisch-Warnung? Allgemeine Java-Themen 0
S Maven Jars dynamisch laden / Plugin-Struktur erstellen Allgemeine Java-Themen 14
T Statisch und dynamisch Allgemeine Java-Themen 1
MiMa Variableninhalte dynamisch abfragen Allgemeine Java-Themen 12
D Methode dynamisch aufrufen Allgemeine Java-Themen 2
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
Thallius Externe .jar dynamisch einbinden Allgemeine Java-Themen 5
C Erste Schritte Baumstruktur (dynamisch) Allgemeine Java-Themen 9
F JTree: Nodes dynamisch anlegen via LinkedHashMap Allgemeine Java-Themen 2
B Reflection, invoke dynamisch befüllen Allgemeine Java-Themen 3
M Klassen Klasse Dynamisch laden und Konstruktor aufrufen Allgemeine Java-Themen 1
J rxtxserial.dll für 32 oder 64bit dynamisch einbinden Allgemeine Java-Themen 9
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
W Dateinamen dynamisch Parsen Allgemeine Java-Themen 12
T Classpath Klassen dynamisch erstellen Allgemeine Java-Themen 4
F Schlüsselworte Einstellungen dynamisch deserialisieren Allgemeine Java-Themen 5
S LaTeX Code in dynamisch erzeugten PDF's Allgemeine Java-Themen 8
X Dynamisch Konstruktor aufrufen Allgemeine Java-Themen 12
hdi Ressourcen dynamisch zur Laufzeit laden Allgemeine Java-Themen 15
A Klassen dynamisch aus jar-datei laden Allgemeine Java-Themen 5
J instanceof vermeiden und stattdessen dynamisch binden Allgemeine Java-Themen 6
M Konstruktoraufruf dynamisch auswerten und SQL bauen Allgemeine Java-Themen 10
E Variable dynamisch ausgeben Allgemeine Java-Themen 5
Tandibur pattern dynamisch vorkompilieren Allgemeine Java-Themen 9
T Objekt dynamisch neu erstellen/ austauschen Allgemeine Java-Themen 9
T Dynamisch getypte Klasseninstanz? Allgemeine Java-Themen 6
H getText(); bei dynamisch generierten JTextFiled Allgemeine Java-Themen 2
F Wie erfahre ich dynamisch den namen eines aktuellen Objektes Allgemeine Java-Themen 2
S Asymmetrisches Array dynamisch erzeugen Allgemeine Java-Themen 4
T Objekte dynamisch über eine Methode erzeugen Allgemeine Java-Themen 10
R Object Dynamisch erzeugen (Reflection API) Allgemeine Java-Themen 22
P RTF dynamisch machen (IText, Swing) Allgemeine Java-Themen 4
B Listener dynamisch setzen Allgemeine Java-Themen 6
P Klasse Dynamisch laden und zurückgeben Allgemeine Java-Themen 17
P Array Dynamisch vergrößern Allgemeine Java-Themen 7
B objekt einer klasse dynamisch erzeugen Allgemeine Java-Themen 6
G Objekt dynamisch erstellen und Inhalte kopieren Allgemeine Java-Themen 6
C Dynamisch Objekte unterschiedlicher Typen erzeugen Allgemeine Java-Themen 6
D Klassen dynamisch laden Allgemeine Java-Themen 5
E Arrays -> dynamisch Allgemeine Java-Themen 21
K Methoden dynamisch erstellen Allgemeine Java-Themen 12
P Dynamisch casten - möglich? wie? Allgemeine Java-Themen 5
T Klassen dynamisch ausführen Allgemeine Java-Themen 3
N Graphische Oberfläche dynamisch erweitern möglich? Allgemeine Java-Themen 4
B Absolute Paf einer Klasse in dieser dynamisch auslesen? Allgemeine Java-Themen 5
K Klasse dynamisch casten Allgemeine Java-Themen 14
Reeny Dynamisch Klassen kompilieren Allgemeine Java-Themen 5
G JDO Dynamisch ? Allgemeine Java-Themen 2
H Objekte m. versch. Interf. dynamisch erzeugen Allgemeine Java-Themen 11
E Klasse dynamisch über main-Methode aufrufen Allgemeine Java-Themen 9
D Strings dynamisch füllen Allgemeine Java-Themen 5
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
Junger_Basileus Attribute, Arrays, Schleifen Allgemeine Java-Themen 9
L xml node mit attribute auslesen Allgemeine Java-Themen 2
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
D JSF Bean Attribute bei Seitenaufruf Allgemeine Java-Themen 6
C Attribute aus HTML Tags auslesen Allgemeine Java-Themen 6
B Mp3-Attribute auslesen & beschreiben Allgemeine Java-Themen 6
M PDF Drucker-Attribute hinterlegen Allgemeine Java-Themen 3
E Finale Attribute und Konstruktor Allgemeine Java-Themen 3
T [htmlparser.sourceforge.net] Attribute extrahieren Allgemeine Java-Themen 3
T Namenskonventionen für Objekt-Attribute Allgemeine Java-Themen 12
J Attribute eines Objekts in ByteArray Allgemeine Java-Themen 3
I Attribute in Textfile auslesen Allgemeine Java-Themen 13
G [JDK 6u2] - JAR Failed to load Main-Class manifest attribute Allgemeine Java-Themen 6
E Attribute in Interfaces möglich? Allgemeine Java-Themen 17
MQue Button Attribute setzen Allgemeine Java-Themen 14
F JSP XML ATTRIBUTE Allgemeine Java-Themen 2
H Nullpointer exception, Attribute in Label schreiben? Allgemeine Java-Themen 4
L Alle Attribute eines Source-Files auslesen Allgemeine Java-Themen 2
J Attribute beim Drucken ändern/ausstellen Allgemeine Java-Themen 8
B Zugriff auf Attribute/Methoden der init-Klasse Allgemeine Java-Themen 10
R -jar der Windows-Registry hinzufügen Allgemeine Java-Themen 1
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
C Java11+ JavaFX HtmlEditor ContextMenu neue MenuItems hinzufügen Allgemeine Java-Themen 5
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
CodingBerlin Zahlungsmethode hinzufügen in App Allgemeine Java-Themen 2
Y Wie kann ich ein erstelltes JPanel meinem Frame hinzufügen? Allgemeine Java-Themen 1
Y ImagePanel von anderer Klasse in eine MainFrame Klasse hinzufügen. Allgemeine Java-Themen 1
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
L Classpath Zur Laufzeit bestimmte Klassen in Classloader hinzufügen? Allgemeine Java-Themen 4
D Methoden Methoden anpassen und fehlende Funktionen hinzufügen Allgemeine Java-Themen 475
A Website zur Ausnahmeliste hinzufügen (Mac) Allgemeine Java-Themen 3
K JDK installieren JavaDoc hinzufügen Allgemeine Java-Themen 10
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
4 Swing Durch klicken auf Button Labels einem Panel hinzufügen Allgemeine Java-Themen 4
KaffeeFan Artikel hinzufügen Allgemeine Java-Themen 3
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
X Zeile unter einer bestimmen Zeile hinzufügen(File) Allgemeine Java-Themen 1
B Per Buttonklicks einer Liste Wörter hinzufügen - Wie umsetzen? Allgemeine Java-Themen 11
M Zeilen zu einem DefaultTableModel hinzufügen Allgemeine Java-Themen 1
T Windows-Kontextmenü Eintrag hinzufügen? Allgemeine Java-Themen 3
L Leerzeichen zu string hinzufügen, um eine gerade zahl zu erhalten Allgemeine Java-Themen 9
M lucene suchen/löschen/hinzufügen Allgemeine Java-Themen 4
S Speichern/Laden/Hinzufügen/Löschen der Array-Wörter; unerwartete Ausgabe Allgemeine Java-Themen 6
J Elemente zu einer List hinzufügen? Allgemeine Java-Themen 9
S Java Applikation zu autostart hinzufügen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben