![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Gast
Beiträge: n/a
|
Hi,
hab folgendes Problem: ich möchte in einer Textarea mehrer Datensätze untereinander ausgeben. Nur wenn ich die Strings einfach hintereinader füge und nach jedem Datensatz eine Zeilenumruch machen, sind diese nicht richtig untereinander. Wenn zum Beispiel der Erste String des erste Datensatzes nur 1 Zeichen lang ist und der weiter dann 2... Ich habe daran gedacht das durch das ermitteln der Stringlänge und dann alle auf einen einheitliche Länge mit Leerzeichen aufzufüllen zu lösen. Nur das wird "etwas" umständlich. Gibt's da eine Methode die das evtl übernimmt ? oder sonst einen einfachere Lösung ? Hoffe ihr könnt mir dabei helfen mfg Quakes |
|
|
|
Nach oben #2 |
|
Chefkoch-Mod
Registriert seit: 30.05.2004
Beiträge: 433
|
Ich habe Dein Problem mit dem "untereinander" nicht ganz verstehen. Hast Du vielleicht ein kleines Beispiel, damit man sieht, was Du meinst?
__________________
Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
|
|
|
|
|
Nach oben #3 |
|
Gast
Beiträge: n/a
|
HI,
aber sicher doch also die Ausgabe sieht dann so aus: 1 dumdudm sdsdsd dweööö 783 12 ffnss ffkdkd jfjg 2 3 dw 33ddsd 223sd 333 [...] Es sind in jeder Zeile 5 Werte die aus Strings stammen, nur leider sind diese nicht gleich lang. ich hätte es aber gerne so, dass die Werte wie in einer Tabelle angeordnet sind. Nur wie bekomm ich das hin ??? mfg Quakes |
|
|
|
Nach oben #4 |
|
Chefkoch-Mod
Registriert seit: 30.05.2004
Beiträge: 433
|
Jetzt verstehe ich. Du möchtest eine Art Tabelle. Warum nimmst Du dann nicht einfach eine Tabelle und schreibst die Werte da rein?
__________________
Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
|
|
|
|
|
Nach oben #5 |
|
Projektleiter
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.091
|
Schätzungsweise deshalb, weil er mit einer Konsole arbeitet.
Einfachste Möglichkeit: Zum speichern der Daten verwendest du eine ArrayList<ArrayList<String>>, d.h. eine ArrayList mit ArrayList-Elementen, die ihrerseits Strings beinhalten - ausser du kennst die genaue Anzahl der Zeilen/Spalten schon vorher, dann solltest du ein multidimensionales Array verwenden (String[][]). (Anmerkung: Theoretisch lässt sich auch ein TableModel dafür verwenden) Dann suchst du in jeder Zeile für jede Spalte den jeweils größten String und nimmst dessen Länge als Maßstab für die Breite der jeweiligen Spalte. Bei der Ausgabe musst du dann nur noch die Strings, die kürzer sind, entsprechend erweitern. Klingt kompliziert, ist es aber nicht. Wenn du ein Beispiel brauchst sagst bescheid.
__________________
Patrick Gotthardts Weblog. |
|
|
|
|
|
Nach oben #6 | |
|
Chefkoch-Mod
Registriert seit: 30.05.2004
Beiträge: 433
|
Zitat:
__________________
Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
|
|
|
|
|
|
Nach oben #7 | |
|
Gast
Beiträge: n/a
|
Hi,
mein Programm basiert auf einem Frame und ausgabe erfolgt in einer Textarea. Das ist bei Java tabellen gibt, weiß ich auch. Nur habe damit noch nie was gemacht... Daher dazu die Frage, kann ich die dynamisch aufbauen ??? Weil ich es gibt immer verschieden viele Zeilen. @ DragonMaster Zitat:
erstmal die Länge des Strings auslesen und dann über eine Schleife soviele Leerzeichen anfügen, bis der String eine bestimmte Länge hat. Nur das ist verdammt umständlich und für eine scheinbar so kleine Aufgabe müsste ich einiges an Quellcode tippen mfg Quakes |
|
|
|
|
Nach oben #8 |
|
Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 567
|
Ich empfehle dir einfach mal dir die Klassen
JTable und DefaultTableModel anzuschauen. Also mit JTable legst du die Tabelle an, legst einfach ein TableModel drauf (das DefaultTableModel bietet sich an, darin sind bereits die wichtigsten Methodne wie Zeile (row) und Spalte (column) anfügen enthalten. Wenn du bei der TextArea bleiben möchtest solltest du aus Performance-Gründen nicht mit einem String sondern mit dem StringBuffer arbeiten. Gruß Sparrow |
|
|
|
|
|
Nach oben #9 | ||
|
Projektleiter
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.091
|
Zitat:
Ne, dann sollte auf jedenfall eine JTable verwendet werden. Kleiner Tipp, um das arbeiten mit Tabellen zu vereinfachen: https://glazedlists.dev.java.net
__________________
Patrick Gotthardts Weblog. |
||
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Strings vergleichen über 2 Zeilen | Garnele | PHP-Programmierung | 4 | 06.06.2007 17:13 |
| dyn. Strings einlesen und vertauscht in HTML-Tab ausgeben | christoph | PHP-Programmierung | 17 | 01.06.2005 08:50 |
| Teil eines Strings löschen | Quakes | Allgemeine Java-Programmierung | 3 | 18.04.2005 11:03 |
| Ein Wort einlesen über Tastatur und wieder ausgeben | Destiny1985 | Allgemeine Java-Programmierung | 3 | 17.12.2004 12:17 |
| Java zu HTML konvertieren und ausgeben??? | Eddi | Desktop-Applikationen und Grafik | 4 | 27.07.2004 01:44 |