GUI mit generischer Anzahl an Textfeldern und Tabs?

Herr_M

Erfahrenes Mitglied
Hallo Zusammen,

ich habe vor für Textdateien mit folgender Struktur ein Tool zum übersichtlichen Anzeigen und Verwalten zu basteln.

Code:
[Block A]
bezeichner1=wert1
bezeichner2=wert2
bezeichner3=wert3
[Block B]
bezeichner4=wert4
bezeichner5=wert5
[Block C]
bezeichner6=wert6
...

Meine Idee ist die Dateien zeilenweise einzulesen und für jedes [Block X] ein neues Tab in die GUI zu machen und auf die Tabs dann für jedes bezeichnerY=wertY ein Textfeld mit "bezeichnerY" als Label und wertY als Inhalt.

Da man für jedes GUI Element ja ein Objekt erzeugen muss, hier aber die Anzahl der Objekte unterschiedlich sein kann, soll ja für beliebige Dateien mit diesem Aufbau funktionieren, geht das überhaupt?
 
Hallo,

ja das geht. ;-)

Um mal weiterer Fragen vorzubeugen, jedesmal wenn du eine Zeile einließt, musst du dann das entsprechende GUI-Element erzeugen.

MFG

Sascha
 
...
Um mal weiterer Fragen vorzubeugen, jedesmal wenn du eine Zeile einließt, musst du dann das entsprechende GUI-Element erzeugen.
...

Hallo Sascha,

Die Antwort kam jetzt unerwartet schnell :)

Aber um mal beim eigentlichen Thema zu bleiben, wie krieg ich es hin die GUI-Elemente dann nach dem ich sie erzeugt hab eindeutig anzusprechen?

Mit new guiElement() erzeuge ich zwar jedesmal eine neue Instanz, aber wie spreche ich dann gezielt einer dieser Instanzen an, bzw wie erkenne ich welche welche ist?
 
Zuletzt bearbeitet von einem Moderator:
Hallo,
Speicher die neu erzeugten Elemente doch einfach in einer dynamisch wachsenden Liste, sprich LinkedList oder ArrayList dann kannst du einfach auf die Einträge zugreifen
 
Hallo,
Speicher die neu erzeugten Elemente doch einfach in einer dynamisch wachsenden Liste, sprich LinkedList oder ArrayList dann kannst du einfach auf die Einträge zugreifen

Hmm, das ist ne Idee. An sowas hätte ich jetzt garnicht gedacht aber unterm Strich sind Instanzen von GUI Elementen ja auch nur Objekte wie andere auch. Ich hatte da jetzt wohl etwas zu sehr die Anwender Brille auf :-)

Wer den Vorschlag nächste Woche mal testen, da hab ich Urlaub und genug Zeit mit diesem privaten Projekt zu widmen.
 
Du könntest das ganze auch in einer HashMap speichern. Wenn du den Label-Text als key nimmst, könntest du so einfach auf die Textfelder zugreifen.
Da sicherlich Text der Label auf mehreren Tabs gleich sein können, erstellst du für jeden Tab eine HashMap. Diese ganzen HashMaps speicherst du dann wieder in einer HashMap. Dort verwendest du als Key dann den Namen der Tabs.

MFG

Sascha
 
Du könntest das ganze auch in einer HashMap speichern. Wenn du den Label-Text als key nimmst, könntest du so einfach auf die Textfelder zugreifen.
Da sicherlich Text der Label auf mehreren Tabs gleich sein können, erstellst du für jeden Tab eine HashMap. Diese ganzen HashMaps speicherst du dann wieder in einer HashMap. Dort verwendest du als Key dann den Namen der Tabs.

MFG

Sascha

Hmm ja das klingt sogar noch besser, richtig genial. So muss ich dann nicht umständlich mit Indizes jonglieren, die ich dann vermutlich auch noch irgendwo durchnander bringen würde.
 
Zuletzt bearbeitet von einem Moderator:
Du könntest das ganze auch in einer HashMap speichern. Wenn du den Label-Text als key nimmst, könntest du so einfach auf die Textfelder zugreifen.
Da sicherlich Text der Label auf mehreren Tabs gleich sein können, erstellst du für jeden Tab eine HashMap. Diese ganzen HashMaps speicherst du dann wieder in einer HashMap. Dort verwendest du als Key dann den Namen der Tabs.

MFG

Sascha

das ist auch keine schlechte idee, somit musst du keine Objekte vom Typ guiElement mit dir rumschleppen sondern nur noch die Textfelder. Dann bräuchtest du lediglich noch ne Bildungsvorschrift um für die einzelnen Tabs die Anordnung der Elemente z.B mit GridBagLayout zu realisieren.
Grüße,
Clash
 
Zuletzt bearbeitet von einem Moderator:
Zurück