#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. Да, это должно быть так. Я предполагаю, что обходным путем было бы установить шрифт или просто зарегистрировать его при запуске программы.. Спасибо