Ich bin mit DefaultStyledDocument beschäftigt und versuche, den richtigen Weg zu finden, um einen Stil auf die richtige monospaced Schriftart zu setzen. Mit "richtig" meine ich, dass die gewählte Schriftart ist:
Das funktioniert:
%Vor%und das funktioniert auch:
%Vor%Aber ich kann nicht herausfinden, wie ich feststellen kann, ob die fragliche Schriftfamilie auf dem Computer des Benutzers existiert (es gibt keinen Rückgabewert für setFontFamily) und eine Schriftart mit einem festen Abstand. Wenn ich "Lucida Consoleq" verwende, scheint es zu verwenden, was immer die Standardschriftart ist.
Siehe javadoc für java.awt.Font
. Es scheint, dass Sie möglicherweise die Methode public static Font decode(String str)
verwenden können, um das zu erreichen, was Sie wollen. Der letzte Absatz des Javadoc für diese Methode sagt:
Die Standardgröße ist 12 und der Standardwert Stil ist PLAIN. Wenn str nicht Geben Sie eine gültige Größe an, die zurückgegeben wird Schrift hat eine Größe von 12. Wenn str nicht Geben Sie einen gültigen Stil an, den zurückgegebenen Schriftart hat einen Stil von PLAIN. Wenn Sie tun Geben Sie keinen gültigen Zeichensatznamen in der str-Argument wird diese Methode zurückgegeben eine Schrift mit dem Familiennamen "Dialog". Um zu bestimmen, welche Schriftfamiliennamen sind auf Ihrem System verfügbar, verwenden Sie die GraphicsEnvironment.getAvailableFontFamilyNames () Methode. Wenn str null ist, ist eine neue Schriftart kehrte mit dem Familiennamen zurück "Dialog", eine Größe von 12 und ein PLAIN Stil.
Wenn die von Ihnen gesuchte Schriftfamilie nicht existiert, wird "Dialog" zurückgegeben. Solange Sie das nicht als Rückgabewert erhalten, existiert die Schriftfamilie.
Monospaced
ist ein virtueller Name (wie Dialog
), dem Java die Standardschriftart mit fester Breite des Systems zuordnet.