[java] strings formatteren

Pagina: 1
Acties:

  • FaceDown
  • Registratie: Juni 2003
  • Laatst online: 09-04 23:33

FaceDown

Storende factor.

Topicstarter
Strings formatteren. Het gaat heel makkelijk in C. Nu gaat het even gemakkelijk in java, vanaf JDK 1.5. Natuurlijk gebruik ik nog 1.4. ;(

Wat ik wil lijkt eenvoudig. In een jList wil ik verschillende strings onder mekaar zetten. Bijv:

code:
1
2
10     regel1
20     regel2


Hoe krijg ik nou java aan z'n verstand gebracht dat ik die kolommen netjes onder elkaar wil hebben; dus ook als die 10 100 of 1000 wordt? Nu schuift 'regel1' natuurlijk gewoon op. In C kun je makkelijk een veldbreedte definieren. Wat is de makkelijkste oplossing binnen java hiervoor?

Groetjes, FaceDown.


  • JaWi
  • Registratie: Maart 2003
  • Laatst online: 14-01 21:58

JaWi

maak het maar stuk hoor...

Simpel: geen JList, maar een JTable gebruiken, of een proportioneel font gebruiken.

Statistics are like bikinis. What they reveal is suggestive, but what they hide is vital.


  • FaceDown
  • Registratie: Juni 2003
  • Laatst online: 09-04 23:33

FaceDown

Storende factor.

Topicstarter
Zo simel is dat niet. We gebruiken een jList omdat daar weer een defaultModel aan hangt waar we objecten in kunnen stoppen en weer uit kunnen lezen (de strings zijn uiteindelijk alleen maar korte weergaves). Overstap naar een ander component is dus geen optie.

Met een proportioneel font zitten we nog steeds met het probleem dat de hele zooi opschuift als een substring net wat langer of korter is.

Groetjes, FaceDown.


  • JaWi
  • Registratie: Maart 2003
  • Laatst online: 14-01 21:58

JaWi

maak het maar stuk hoor...

Een JTable heeft ook een eigen model waar je ook dingen in kan stoppen en uit kan halen eronder hangen, dus erg overtuigend is je argument niet. Maar anyway: als het louter een weergave probleem is, dan kun je beter een eigen cellRenderer schrijven voor je JList. Deze cellRenderer erft bijv. van een JPanel waar je met twee labels de juiste waardes laat zien.

edit:
Wat extra info gegeven over de eventuele implementatie...

[ Voor 25% gewijzigd door JaWi op 03-06-2005 16:49 ]

Statistics are like bikinis. What they reveal is suggestive, but what they hide is vital.


  • FaceDown
  • Registratie: Juni 2003
  • Laatst online: 09-04 23:33

FaceDown

Storende factor.

Topicstarter
Mja dat gaat me allemaal iets boven de pet.. zoveel ervaring heb ik nou ook weer niet met Java. Ik had gehoopt dat er een iets makkelijkere manier zou zijn om een String te formatteren. Iets als printf in C.
Ik heb het op korte termijn nodig voor een project op school wat zeer snel af moet zijn, dus heb ik ook geen tijd om me uren erin te gaan verdiepen. Gaat het niet, dan gaat het niet. :) Toch bedankt voor de moeite.
Als iemand anders nog een oplossing weet... graag.

[ Voor 44% gewijzigd door FaceDown op 03-06-2005 17:10 ]

Groetjes, FaceDown.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Als je gewoon printf wilt, dan kun je gewoon PrintStream gebruiken. Dan moet je wel 1.5 draaien. Om de String op te vangen zou ik dan een ByteArrayOutputStream gebruiken.

  • FaceDown
  • Registratie: Juni 2003
  • Laatst online: 09-04 23:33

FaceDown

Storende factor.

Topicstarter
Het is gelukt met een leuk stukje code van deze site: http://www.braju.com/

Gewoon printf voor java. :P

Groetjes, FaceDown.

Pagina: 1