Java - Ändern der Schriftart in einem JTextPane, das HTML enthält

8

Ich habe einen JTextPane und ich habe Text in diesem JTextPane. Da ich HTML jedoch innerhalb des Bereichs verwendet habe, wurde der Text automatisch in Times New Roman geändert.

Ich versuche, die Schriftart innerhalb der JTextPane auf die Standardschriftart der GUI (die Schriftart der JTextPane, wenn es nicht HTML ist). Allerdings kann ich die Schriftart nicht einfach auf eine Schriftart setzen, da sie vom Betriebssystem abweicht. Daher möchte ich einen Weg finden, die Standardschriftart zu erhalten und dann den Text, den ich habe, auf die Standardschriftart zu ändern.

Um zu demonstrieren, wie der Text bei der Konvertierung in Times New Roman umgetauscht wird, ist der folgende Code das Format, das ich verwendet habe. Wie könnte ich es ändern, um mein Ziel zu erreichen?

%Vor%

Danke!

    
mino 17.02.2012, 21:23
quelle

3 Antworten

7

Der einfachste Weg ist wahrscheinlich ungefähr so:

%Vor%

Damit erhalten Sie die Standardschriftart. Dann wenden Sie es einfach mit CSS an:

%Vor%     
ChrisPatrick 17.02.2012, 21:42
quelle
22

Das Folgende wird den Trick machen:

%Vor%

(Beachten Sie, dass JTextPane erweitert JEditorPane .)

Aktualisierung (Aug 2016):

Für die Einstellung zu überleben Look & amp; Gefühl und Systemänderungen (z. B. Schriftarten in der Windows-Systemsteuerung geändert) kann die Zeile hier platziert werden:

%Vor%

(Dies wird auch während der Konstruktion genannt.)

    
Luke Usherwood 05.11.2013 09:23
quelle
1

Der JComponent-HTML-Renderer verwendet eine eigene Schriftart und nicht die der JComponent. Um die Komponente zum Rendern zu bringen, müssen Sie die Schriftattribute in der HTML-Zeichenfolge festlegen. Unter anderem müssen Sie die Schriftfamilie, Größe, Fett- / Kursivschrift usw. einstellen.

Als Beispiel könnten Sie Folgendes tun:

%Vor%

Es wäre ziemlich trivial, eine Funktion zu erstellen, die dies für Sie erledigt. Übergeben Sie eine JComponent und eine Zeichenfolge, und es würde den HTML-Text für Sie erstellen, einschließlich aller Schriftart-Tags.

    
Tony 17.02.2012 21:51
quelle

Tags und Links