Как установить шрифт для метки в JavaFx из корневой папки? - PullRequest
0 голосов
/ 24 сентября 2019

Я сохранил шрифты для моего проекта в каталоге *>root* внутри каталога *>font*.

Я пытался использовать следующий код:

public class NewController implements Initializable {

        @FXML
        private Label titleLabel;

        @Override
        public void initialize(URL url, ResourceBundle rb) {
            titleLabel.setFont(Font.loadFont("fonts/Archivo-Regular.ttf", 30));
        }
    }  

Но он не может установить шрифт.

1 Ответ

5 голосов
/ 24 сентября 2019

Вы можете добавить шрифт на сцену в виде таблицы стилей

Ваш класс

scene.getStylesheets().add(getClass().getResource("/font.css").toExternalForm());

Файл CSS

@font-face {
    font-family: 'Archivo';
    src: url('font/Archivo-Regular.ttf');
}

После этого выМожно легко добавить шрифт к элементам в CSS

.label {
 -fx-font-family: 'Archivo';
}

Или вы можете загрузить шрифт в классе.Но загрузите шрифт перед использованием стиля.

Класс

Font.loadFont(NewController.class.getResource("Archivo-Regular.ttf").toExternalForm(), 30);

Редактировать

@ FXML

Вот небольшой пример с этого сайта .

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        text.setText("My Text!");
        text.setFill(Color.RED);
        text.setFont(Font.font("Arial", FontWeight.BOLD, FontPosture.ITALIC, 24));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...