# Zeilenabstand bei HTML-Texten in JLabel/JTextPane



## Gelöschtes Mitglied 9001 (7. Mai 2007)

Hallo,

ich möchte den Zeilenabstand eines HTML-formatierten Textes (angezeigt in JLabel oder JTextPane) verringern.

Wie das normalerweise mit HTML/CSS geht, weiß ich (<div style="line-height:75%;">Hier kommt der Text...</div>). Wie man mit setLineSpacing den Zeilenabstand einer JTextPane einstellt, ist auch klar.

Nur leider klappt setLineSpacing nicht, wenn ContentType text/html ist, sondern nur bei einfachem Text. Und leider kennt Java offenbar das CSS-Attribut line-height auch nicht.

Alternative Bastellösungen mit relativer Positionierung oder negativen Abständen mittels CSS funktionieren auch nicht.

Gibt es noch andere Lösungsideen?

Dank und Gruß
Rajmund


----------



## Wildcard (7. Mai 2007)

Java verwendet keinen 'richtigen' html Renderer. Mit CSS oder ähnlichem brauchst du gar nicht zu kommen.
Muss es denn html sein? Dann wird es nämlich schwierig.


----------



## Gelöschtes Mitglied 9001 (7. Mai 2007)

Es funktionieren einige CSS-Attribute. text-decoration, color, background-color, margin, padding, font habe ich schon angetest.

Gibt es Alternativen zu HTML?


----------



## AlArenal (7. Mai 2007)

Also in einer JEditorPane kann man mit (basic) CSS arbeiten:


```
setEditorKit(new HTMLEditorKit());
StyleSheet css = ((HTMLEditorKit)getEditorKit()).getStyleSheet();
css.addRule("P { margin : 0; font-family : Arial, sans-serif; font-size : 11px; font-style : normal; }");
```


----------



## AlArenal (7. Mai 2007)

Rajmund hat gesagt.:
			
		

> Gibt es Alternativen zu HTML?



Gegenfrage: Wozu soll die Anwendung das können?


----------



## Gelöschtes Mitglied 9001 (7. Mai 2007)

AlArenal hat gesagt.:
			
		

> Rajmund hat gesagt.:
> 
> 
> 
> ...



Die Anwendung soll flexibel konfigurierbare beschriftete Schaltelemente darstellen. Diese Beschriftungen sollen bei Bedarf Text in mehreren Farben haben können. Da ich im jedes Pixel Platz kämpfen muß, müssen die Zeilen ein bißchen zusammengerückt werden. Das sieht trotzdem noch gut aus und ist auch im Original (welches mein Programm nachbildet) so.
Extra wegen der Farben eine eigene kleine Auszeichnungssprache zu entwerfen, ist zwar möglich, aber es wäre doch besser, gleich die vollen Möglichkeiten von HTML und CSS nutzen zu können.


----------



## AlArenal (7. Mai 2007)

Mal abgesehen davon, dass kein derzeitiger Browser die "vollen Möglichkeiten von HTML und CSS" unterstützt ist die Onboard-Unterstützung in Java auch bestenfalls rudimentär, so dass wir dir da wenig Hoffnung machen können.

Schätze, es gibt auch keinen TeX-Renderer-Klasse...


----------



## Gelöschtes Mitglied 9001 (7. Mai 2007)

Nun, die vollen Möglichkeiten gibt es sicher nirgendwo, aber ehe ich selbst mir den Aufwand mache und eine Auszeichnungssprache mit den Möglichkeiten, die HTML und CSS innerhalb von Java immerhin schon möglich sind, suche ich doch lieber erstmal nach anderen Möglichkeiten. Schade, daß gerade der Zeilenabstand offenbar nicht veränderbar ist.


----------

