Пользовательский шрифт Java не работает в html jlabels

#java #html #swing #user-interface #fonts

#java #HTML #swing #пользовательский интерфейс #шрифты

Вопрос:

Я создаю приложение с некоторыми пользовательскими шрифтами.

У меня есть несколько JLabels, один из которых содержит простой html-текст (начинается и заканчивается тегом html имеет теги BR). Моими шрифтами являются A, B, C и D (загружаются с диска).

Установка шрифта для html JLabel дает видимый эффект только при использовании шрифта A или B. (в JLabel будет использоваться не предоставленный шрифт, а шрифт по умолчанию)

Удаление тегов html из JLabel также приводит к работе шрифтов C и D.

Установка шрифта для любого JLabel, отличного от html, отлично работает со всеми шрифтами.

Кто-нибудь знает, почему только некоторые шрифты работают с html JLabels, есть ли способ обойти это? и есть ли способ определить, какие шрифты не будут работать с ним?

Ответ №1:

при использовании тегов html java использует механизм html для отображения содержимого html .. это означает, что имена шрифтов, определенные в вашей разметке, будут ссылаться на системный кеш шрифтов, а не на ваше приложение .. это причина, по которой ваше приложение не отображает определенный вами шрифт..

вы можете попробовать установить шрифт локально на компьютере и использовать его в своем HTML.

Комментарии:

1. Да, это должно быть так. Я предполагаю, что обходным путем было бы установить шрифт или просто зарегистрировать его при запуске программы.. Спасибо