2011-11-30 10 views
5

Mam niektóre niestandardowe składniki z overriden metody paintComponent(Graphics g). W niektórych składnikach używany jest obiekt drawString() z obiektu Graphics g. Chcę zdefiniować niestandardowe czcionki dla takich rysowanych ciągów.huśtawka utworzyć czcionkę

Mam pliki * .ttf z definicjami prawdziwych typów czcionek. mam pliku css z klas stylu, definiowanie czcionek jak:

.rosTexLogoTitle { 
    -fx-font: bold 20pt 'Tahoma Bold'; 
    -fx-text-fill: #246db6; 
    -fx-font-weight: heavybold; 
    -fx-padding: 0 10 0 0 

Chcę określić wszystkie właściwości z css w mojej klasie Java lub być może istnieje sposób na wykorzystanie stylów bezpośrednio z CSS plików (nie jest konieczna).

Próbowałem stworzyć czcionkę z konstruktora z parametrem Mapa:

public Font(Map<? extends Attribute, ?> attributes) { 
} 

Ale ja nie sukces. Mogę utworzyć niestandardową czcionkę z Font.createFont(style, path), a następnie wyprowadzić ją do ustawionego rozmiaru. Kolor można ustawić w Graphics.setColor(). Ale nie mogę ustawić "Tahoma Bold".

+0

Jakie jest Twoje pytanie? –

+0

Jak poprawnie ustawić wszystkie atrybuty czcionki (mam je w css). Utwórz czcionkę z * .ttf, a następnie wyprowadź i ustaw rozmiar i ustaw kolor na grafikę? Jak ustawić grubość czcionki? Jak ustawić rodzinę? Jak pracować z konstruktorem czcionki, który przyjmuje atrybuty Map? Inna część pytania dotyczy wygładzania tego tekstu, ale mam na myśli stworzenie kolejnego pytania mb? –

+0

Kiedy zapytałem * "Jakie jest twoje pytanie?" * Miałem na myśli ** jedno ** pytanie, w przeciwieństwie do 5 z nich. Wybierz swój ulubiony. –

Odpowiedz

2

Nie można ustawić wagę czcionki lub rodzina; są one używane tylko do wyboru poprawnego pliku .ttf.

Rozwiązaniem jest użycie poprawnego pliku .ttf. Na przykład rodzina czcionek Arial jest dostępna w czterech plikach:

arialbd.ttf - Weight "Bold" 
arialbi.ttf - Weight "Bold", Slant "Italic" 
ariali.ttf - Slant "Italic" 
arial.ttf - Plain version 
1

czy masz plik .ttf? CreateFont (styl, File) zwracają nowe czcionki, a następnie u można ustawić kolor

u mogą korzystać sun.awt.Win32GraphicsEnvironment.getAvailableFontFamilyNames() dostać Wszystkie czcionki systemowe