Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Allgemeine Java-Programmierung > formatiertes Ausgeben von Strings
Antwort
 
Themen-Optionen
Alt 21.05.2005, 17:35   Nach oben    #1
Quakes
Gast
 
Beiträge: n/a
Standard formatiertes Ausgeben von Strings

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
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.05.2005, 19:41   Nach oben    #2
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 433
Standard

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
Sym ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.05.2005, 23:28   Nach oben    #3
Quakes
Gast
 
Beiträge: n/a
Standard

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
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2005, 13:06   Nach oben    #4
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 433
Standard

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
Sym ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2005, 13:12   Nach oben    #5
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.091
Standard

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.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2005, 13:25   Nach oben    #6
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 433
Standard

Zitat:
Zitat von TheDragonMaster
Schätzungsweise deshalb, weil er mit einer Konsole arbeitet.
Das denke ich nicht. Immerhin schrieb er etwas von Textarea...
__________________
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
Sym ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2005, 16:05   Nach oben    #7
Quakes
Gast
 
Beiträge: n/a
Standard

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:
Bei der Ausgabe musst du dann nur noch die Strings, die kürzer sind, entsprechend erweitern.
ja soweit war ich auch schon. Nur wie bekomme ich die erweitert ??? weil mir ist eingefallen:
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 gibt's da nix einfacheres ?

mfg
Quakes
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2005, 16:36   Nach oben    #8
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 567
Standard

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
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.05.2005, 14:52   Nach oben    #9
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.091
Standard

Zitat:
Zitat von Sym
Zitat:
Zitat von TheDragonMaster
Schätzungsweise deshalb, weil er mit einer Konsole arbeitet.
Das denke ich nicht. Immerhin schrieb er etwas von Textarea...
Hupps. Memo an mich selbst: Erst lesen, dann schreiben.
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.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.05.2005, 21:14   Nach oben    #10
Quakes
Gast
 
Beiträge: n/a
Standard

Hi,
vielen Dank an euch.
werde mir die Sachen mal anschauen.
mfg
Quakes
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ä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


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:37 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44