Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Изменение размера шрифта


Автор: 404NotFound 4.10.2010, 14:49
Доброго времени суток. Подскажите пожалуйста. если я вывожу текст через drawString, каким образом я могу изменить размер шрифта. заранее благодарен  smile 

Автор: sanboll 5.10.2010, 08:32
у класса Graphics есть функция setFont(Font f).

Любой шрифт можно получить с помощью Font.getFont(int face, int style, int size).

например, хотим мы вывести надпись "Hello world" жирным маленьким шрифтом:

Код


public void paint( Graphics g )
{
***
g.setColor(0xffffff);
g.fillRect(0,0,getWidth(), getHeight());
g.setColor(0);
Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_SMALL);
g.setFont(font);
g.drawString("Hello world", 10, 10, 0);
***
}



Параметры шрифта задаются константами класса Font:

face - "лицо" шрифта. Лучше всегда использовать Font.FACE_SYSTEM (системный).
Font.FACE_MONOSPACE - моноширинный шрифт
Font.FACE_PROPORTIONAL - ?

style - стиль, т.е. жирный, курсивный и/или подчеркнутый:
Font.STYLE_PLAIN - обычный
Font.STYLE_BOLD - жирный
Font.STYLE_ITALIC - курсив
Font.STYLE_UNDERLINED - подчеркнутый.
возможны комбинации стилей, например Font.STYLE_BOLD|Font.STYLE_ITALIC|Font.STYLE_UNDERLINED - все 3 стиля.

size - размер
Font.SIZE_SMALL - маленький
Font.SIZE_MEDIUM - средний
Font.SIZE_LARGE - большой

также у Font есть метод getDefaultFont() который возвращает шрифт по умолчанию.




Автор: 404NotFound 5.10.2010, 10:29
Спасибо большое. А если мне необходимо задать шрифт не стандартного большого, среднего или маленького размера, а определенного, например высотой 15, иди 20 пикселей?

Автор: ivanovpv 5.10.2010, 12:49
В стандартном API задание размеров шрифта в кеглях/пикселях не поддерживается. Где-то я видел как народ писал на Canvas'е нужный текст, конвертил его на битмап, а потом масштабировал и выводил на экран

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)