BlackBerry RichTextField изменить шрифт

#blackberry #richtext

#ежевика #richtext

Вопрос:

Я хотел бы изменить шрифт RichTextField, но я хочу изменить его после инициализации поля.

Возможно ли это?

Ответ №1:

 Font font = Font.getDefault() ;
FontFamily ff;
try 
{
    ff = FontFamily.forName("arial");
    font = ff.getFont(FontFamily.SCALABLE_FONT, 18).derive(Font.BOLD);
    field.setFont(font);
} 
catch(ClassNotFoundException e) 
{

}
  

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

1. Привет, сначала спасибо за ваш ответ, это не работает, на самом деле я создал ObjectChoiceField, и я хочу, чтобы пользователь выбрал размер шрифта, а затем применил его к RichTextField, то, что вы мне дали, работает только на ObjectChoiceField, мое richtextfield создается в другом классе, и я делаю его статичным

Ответ №2:

Если вы можете получить ссылку на RichTextField, вы можете вызвать setFont(Font font) для него, а затем вызвать invalidate() , чтобы заставить поле перерисовать себя. invalidate() это защищенный метод, поэтому вам придется изменить свой класс RichTextField (расширить его), чтобы либо обновить setFon t для автоматического вызова invalidate , либо предоставить общедоступную версию invalidate , которую вы можете вызывать.

Ответ №3:

другой способ…

 try {
            myFontFamily = FontFamily.forName("BBAlpha Serif");
            Font appFont = myFontFamily.getFont(Font.PLAIN, 6, Ui.UNITS_pt);
            field.setFont(appFont );

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }