2015-03-11 7 views
0

Я хочу установить конкретный ont в Text в пределах TextFlow в JavaFx.Как преобразовать стиль шрифта в вес шрифта в Java?

Тем не менее, Font имеет только static .font() методы, ожидающие примера FontWeight.

Как преобразовать стиль шрифта как «Обычный» в экземпляр FontWeight? В конечных полях шрифта нет «Regular».

+1

Там на самом деле нет окончательных полей в 'Font' на всех. Все представлено перечислениями. –

+0

А я не знал, что «Enum.somethings» не называются полями! Благодарю. – Zelphir

+0

Они называются полями, но они не являются полями «Шрифт». (Это поля «FontWeight» и «FontPosture», соответственно.) –

ответ

1

Для "Regular" стиль, просто использовать один из статических методов, берущих название и/или размер шрифта:

text.setFont(Font.font(12)); // 12 point, default font family 

или

text.setFont(Font.font("Serif")); // default font size 

или

text.setFont(Font.font("Serif", 12)); // 12 point serif... 

FontWeight enum определяет «вес» шрифта (т.е. жирный, дополнительный жирный, светлый и т. Д.); его значением по умолчанию является FontWeight.NORMAL.

FontPosture enum указывает, является ли шрифт курсивом; это значения: FontPosture.REGULAR и FontPosture.ITALIC.

Методы Font.font(...) перегружены, чтобы использовать большинство комбинаций имени, размера, веса и положения шрифта, возвращаясь к значениям по умолчанию, если они не включены. Так

text.setFont(Font.font("Serif", 12)); 

эквивалентно

text.setFont(Font.font("Serif", FontWeight.NORMAL, FontPosture.REGULAR, 12)); 
+0

Спасибо за разъяснение! Таким образом, FontWeight + FontPosture не являются старыми останками до FontStyle, но на самом деле они являются отличительными признаками. – Zelphir

Смежные вопросы