Как встроить шрифт в JavaFX? - PullRequest
0 голосов
/ 11 октября 2018

Как я могу встроить пользовательский шрифт в приложение JavaFX?Я попытался создать файл fonts.mf и следовал инструкциям к аналогичному вопросу, указанному ниже.Я не хочу использовать CSS, если мне не нужно.Я хочу сосредоточиться на изучении основных вещей JavaFX.

Вот то, с чем я возился:

private static Label makeTitle() {
   Label title = new Label("Bandit King");
   Font font = new Font("OldStyle", 40);
   title.setFont(font);

   return title;
}

мой файл fonts.mf содержит только эту строку:

OldStyle = /home/myName/Desktop/My_Java_Projects/Bandit_King/banditKing/OLDSH.TTF

Это не дубликат этого вопроса .Eclipse говорит: «CustomFontApp не может быть преобразован в тип».

1 Ответ

0 голосов
/ 11 октября 2018

Я пытался создать файл fonts.mf

Вам это не нужно.

Это не дубликат этого вопроса.Eclipse говорит: «CustomFontApp не может быть преобразован в тип».

CustomFontApp - это просто имя класса, используемого в ответе, который вы связали - имя вашего класса, очевидно, отличается, и вы должныизменили его.

Эта строка:

Font font = new Font("OldStyle", 40);

будет загружать OldStyle шрифт, только если он установлен в вашей системе.Вы используете не установленный, а встроенный шрифт, поэтому он не будет работать.

Вам необходимо использовать Font.loadFont (InputStream, double) или Шрифт.loadFont (String, double) для загрузки вашего собственного шрифта с диска:

// use this to load font from your application's resource folder (`res/fonts/OLDSIH.TTF`)
Font font = Font.loadFont(getClass().getResourceAsStream("/fonts/OLDSIH.TTF"), 40);

// or this one to load font from the specified (absolute) path
// (not recommended, use the method above or, at least, change this into relative path):
Font font = Font.loadFont("file:///home/myName/Desktop/My_Java_Projects/Bandit_King/banditKing/OLDSH.TTF", 40);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...