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


Автор: andrewjr20 23.4.2012, 22:16
Добрый день.
Есть тестовый аппарат Nokia 6260. Возникла необходимость отображать несколько строк текста для выбора, каждая строка может быть и по 20, и по 30 символов - для этого решил использовать List, но длинные строки в нём урезаются (хотя в эмуляторе всё в ширину экрана вмещается). Попробовал поиграться с уменьшением размера и типа шрифта, но возникла проблема - шрифты не применялись. Думал, что неправильно использую, попробовал вот такой кусок кода из книги Горнакова: 
Код

       String[] stroka = {"  Java 2 ME","  Java 2 ME"," Java 2 ME","  Java 2 ME"};
       Font f0 = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_SMALL);
       Font f1 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD | Font.STYLE_ITALIC| Font.STYLE_UNDERLINED, Font.SIZE_MEDIUM);
       Font f2 = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_ITALIC, Font.SIZE_LARGE);
       Font f3 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_UNDERLINED, Font.SIZE_LARGE);
       mylist = new List(" Класс Font ", Choice.EXCLUSIVE, stroka, icon);
       mylist.setFont(0,f0);
       mylist.setFont(1,f1);
       mylist.setFont(2,f2);
       mylist.setFont(3,f3);

Какие бы параметры не ставил - в эмуляторе всё отображается как надо, а в реальном аппарате - стандартным шрифтом. Пробовал даже брать готовые бинарники из темы шрифтов той же книги - но даже там отображаются все элементы одинаково. 
В чём может быть проблема? 
Как альтернативное решение, пытался использовать символы переноса строки '\n' в строковых элементах, но опять же - в эмуляторе нормально всё - и 2 строки, и 3 может быть в одном элементе выбора, в реальном же аппарате выдаётся квадратик, и, соответственно, одна сплошная строка. Что тут не так?

Разработка идёт в Eclipse, в jad указываю CLDC=1.0 и MIDP=2.0 (если ставить версии выше - при установке выдаётся ошибка Неверной версии).

Заранее спасибо за помощь, очень хотелось бы разобраться с этим.

Автор: andrewjr20 25.4.2012, 19:42
Достал ещё один телефон, LG KE850 Prada - в нём и демо от Горнякова, и шрифты в моём миддлете отображаются корректно. В чём может быть проблема у нокии? По спецификациям она поддерживает MIDP 2.1 CLDC и 1.1

Автор: oxigen 26.4.2012, 13:53
Может просто на этом телефоне шрифтов нет? 
Попробуй на разных Nokia проверить. Вот тут http://www.developer.nokia.com/Devices/Remote_device_access/ 

Автор: andrewjr20 27.4.2012, 16:55
Оказалось, что этот телефон (как и все S60 2nd Edition, FP1) - стандарта CLDC1.0, таких телефонов по вышеприведённой ссылке даже нет, на аппаратах серией выше всё отображается нормально. 
Но неужели в S60 2nd Edition, FP1 (и в CLDC 1.0) всё так плохо, что даже размер шрифта не получается изменить? 

Автор: oxigen 28.4.2012, 16:51
List (да и вообще все javax.* пакеты) это не из CLDC. Это из MIDP.
Но вообще нормальная ситуация для java телефонов - UI будет выглядеть на разных телефонах по разному и непредсказуемо.
Где-то одно не так работает, где-то другое.

Автор: andrewjr20 28.4.2012, 18:58
Так ладно бы не так работало - вообще не работает. То есть пробовал я тестовый пример запускать на разных эмуляторах - либо размеры разнятся, либо radio button'ы не слева находятся, а справа - но в любом случае и курсив применяется, и bold, и больше-меньше.. Но чтобы ВООБЩЕ игнорировать.. Опускаю руки :(

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