Удалите шрифты, установленные с помощью SWT's Display.loadFont API - PullRequest
1 голос
/ 04 февраля 2011

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

В SWT у нас есть метод loadFont класса Display, который загружает шрифт из указанного файла, поэтому он появится в списке доступных шрифтов приложения. Я использую этот метод.

Но когда я пытаюсь удалить шрифт из проводника проекта, я получаю следующее исключение:

org.eclipse.core.internal.resources.ResourceException: Проблемы, возникающие при удалении ресурсов

У меня есть следующие вопросы:

  1. Возможно ли выгрузить шрифт из приложения в SWT?
  2. Есть ли способ с этим справиться?
  3. Есть ли другой сценарий для работы с пользовательскими шрифтами в затмении?

1 Ответ

1 голос
/ 04 февраля 2011

Классы типа FontData не нужно утилизировать, поскольку они просто содержат небольшое количество информации о шрифте.Когда вы создаете фактический объект Font, тогда да, вы обязаны вызывать .dispose () и освобождать эти ресурсы.

Если вы используете JFace так же, как SWT, то вы можете посмотреть на FontRegistry, который помогает отслеживать ресурсы шрифта.

Извинения за то, что я не связывал никакие javadocs, документы SWT не загружаются для меня прямо сейчас.Я нашел небольшой пример использования FontRegistry , который объясняет разницу между FontData и Font.

...