Schriftart innerhalb einer TextPane verändern?

Hallo,

ich möchte gerne die Schriftart in einer JTextPane, JEditorPane, bzw. JLabel, JToolTip, … verändern, wenn der Text in HTML Form übergeben wurde.

Beispiel:
JLabel l = new JLabel(„1. Zeile
2. Zeile“);

Nun sollte das Label l den Text:

  1. Zeile
  2. Zeile
    ausgeben.
    Das funktioniert auch wunderbar. Nur wir hier eben immer (auf meinem Rechner) eine Serifen-Schrift genommen.

Das ganze läuft im Endeffekt über ein HTML-View (also eine Instanz von dem View Interface). Aber wo kann ich (evtl. sogar global im aktuellen L&F) den Font auf Sans-Serif (oder ab JDK 1.3 auf jeden beliebigen TTF-Font) einstellen?

Etwas ahnungslos im Moment,
Frank

Mahlzeit!

ich möchte gerne die Schriftart in einer JTextPane,
JEditorPane, bzw. JLabel, JToolTip, … verändern, wenn der
Text in HTML Form übergeben wurde.

Schriftarten kann man mit der setFont-Methode ändern, also zum Beispiel

einJTextPane.setFont(meineSchriftart);

Dabei muss meineSchriftart vom Typ Font sein. Ich hab das auch mal benutzt, um die Schriftart in einer TextArea der restlichen Java-Applikation anzupassen. Weil ich aber nicht genau wusste, welche Schriftart das war, hab ich einfach aus einem Button die Schriftart mit getFont() geholt und der TextArea übergeben.
Ansonsten kannst du glaub so ziemlich alle Standard-Schriftarten verwenden, also Arial, Courier usw…
Ich hoffe, das hat geholfen.
Gruß,
Victor

Moin, moin,

ich möchte gerne die Schriftart in einer JTextPane,
JEditorPane, bzw. JLabel, JToolTip, … verändern, wenn der
Text in HTML Form übergeben wurde.

Schriftarten kann man mit der setFont-Methode ändern, also zum
Beispiel

einJTextPane.setFont(meineSchriftart);

Das funktioniert aber nur, wenn der Text ein reiner String ist und nicht durch Dies ist mein Text definiert wurde.
Dann wird (auf meinem System) eine Serifen Schrift genommen.

Noch etwas zur Info: Es kann nur Swing1.1.1 für ein JDK 1.1.8 genommen werden. Das ganze soll nachher auf einer Embedded-Kiste laufen (läuft auch schon dort :smile:). Dort wird auch ein serifenloser Font genommen, nur wüßte ich gerne wo man das denn nun im L&F hinterlegen kann (damit ich im Endeffekt das ganze kontrollieren kann).

Dabei muss meineSchriftart vom Typ Font sein. Ich hab das auch
mal benutzt, um die Schriftart in einer TextArea der
restlichen Java-Applikation anzupassen. Weil ich aber nicht
genau wusste, welche Schriftart das war, hab ich einfach aus
einem Button die Schriftart mit getFont() geholt und der
TextArea übergeben.

Na ja, so kann man das auch machen. Generell kann man das aktuelle L&F sich vom UIManager holfen und dort die entsprechenden Keys für die TextPane verändern. Nur wird das nicht korrekt für „HTML-Texte“ durchgereicht.

Ansonsten kannst du glaub so ziemlich alle
Standard-Schriftarten verwenden, also Arial, Courier usw…

Ab JDK 1.3 mittels getFont(InputStream) sogar jeden beliebigen TTF-Font, der evtl. sogar nur im JAR-File vorliegt :wink:

Ich hoffe, das hat geholfen.

Leider nicht, da ich soweit eben auch schon bin und es eben nicht hilft.
Trotzdem vielen Dank für die Bemühungen.

Gruß,
Victor

cu Frank

Schau mal hier, aber so richtig hilft das glaub auch nicht weiter:

http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&oe…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Frank,

ob es auch global geht weiß ich nicht, aber du kannst wie bei ‚normalen‘ HTML Seiten die Schriftart per CSS festlegen.

JLabel label = new JLabel(" 1. Zeile
2. Zeile ");

gruß
Heavy