Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> drawString на c65 
V
    Опции темы
satellite1977
Дата 7.8.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Привет всем. Сделал программку в которой использовал класс Canvas. На экране отображаются таблица в виде вертикальных и горизонтальных линий и символы (буквы) с помощью drawLine и drawString соответственно. Запускал на NOIKA и SAMSUNG - все ок. Дал другу на Siemens C65, после чего он мне сообщил, что не отображаются символы. Пришлось скачать siemens c65 smtk и проверить на эмуляторе - так и есть. Использую netBeans, добавив туда платформу siemens, компилирую и вижу, что именно drawString не работает. Может кто знает в чем дело?
PM MAIL   Вверх
nagliyvred
Дата 7.8.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 2.10.2005

Репутация: 3
Всего: 3



Скорее всего проблема в кодировке. Переведите все в utf-8.
PM   Вверх
GhostMasterNet
Дата 8.8.2007, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



А ещё лучше, напиши свой шрифт, поскольку на разных телефонах символы отображаются по-разному.
Тему шрифта можно найти поиском.
PM MAIL   Вверх
satellite1977
Дата 9.8.2007, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



похоже так придется и сделать, потому что ничего не получается
PM MAIL   Вверх
satellite1977
Дата 9.8.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Я вообще в отрубе - drawImage тоже не работает. Хотел нарисовать символы и сделать метод, отображающий их в нужных мне местах, но не тут то было. Не пойму, неужели siemens c65 такое г..но.
Хотя написано что MIDP 2.0 поддерживает.

Это то, что касается drawString
Основной класс:
public class Midlet extends MIDlet 
{
    Display display;
    public Midlet()
    {
    }
    public void startApp() 
    {
        display = Display.getDisplay(this);
        NewClass n = new NewClass();
        display.setCurrent(n);
}
    
    public void pauseApp() 
    {
    }
    
    public void destroyApp(boolean unconditional) 
    {
    }
}

Класс графики:
public class NewClass extends Canvas
{
 
    public void paint(Graphics g)
    {
      g.drawString("hello", 50, 50, g.LEFT);
        
    }
    
    public NewClass() 
    {
        
        setFullScreenMode(true);
    }
    
}



PM MAIL   Вверх
SatanClaus
Дата 9.8.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2007

Репутация: 3
Всего: 3



Попробуй вот такой Canvas:
Код

public class NewClass extends Canvas
{
 
   private void clearCanvas(Graphics g){
       g.setColor(0xFFFFFF);
       g.fillRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
   }

    public void paint(Graphics g)
    {
          clearCanvas(g);
          g.setColor(0x000000);
          g.drawString("hello", 50, 50, Graphics.LEFT | Graphics.TOP);
    }
}


Добавлено через 1 минуту и 27 секунд
Может у тебя эмулятор плохой, или ты на девайсе смотришь?
PM MAIL   Вверх
satellite1977
Дата 13.8.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Даааааа, все равно не работает. Вроде API такой как у всех, на девайсе один раз только смотрел - также как и на эмуляторе не работало. Ну его на хрен этот C65 )))
PM MAIL   Вверх
darf
Дата 14.8.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 6.4.2007

Репутация: 1
Всего: 1



Насколько я помню, C65, это MIDP1. А ты вызываешь setFullScreenMode(true);, которого там нет. Прога вообще падать должна при запуске.
PM MAIL   Вверх
SatanClaus
Дата 14.8.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2007

Репутация: 3
Всего: 3



Siemens C65 - это MIDP2, но все-равно стоит попробовать setFullScreenMode(true) убрать...
PM MAIL   Вверх
darf
Дата 14.8.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 6.4.2007

Репутация: 1
Всего: 1



Точно, перепутал с C60.
Но проблема, я подозреваю, кроется в том, что в конструкторе нужно вызывать метод предка командой super, а так фактически никакая канва не создается.

 public NewClass() 
    {
        super();
        
    }

PM MAIL   Вверх
SatanClaus
Дата 14.8.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2007

Репутация: 3
Всего: 3



Я читал, что вообще конструктор предка вызывать не стоит, потому что могут быть проблемы...
Хотя, только SIEMENSовские программеры знают, может проблема и в этом. Не у всех же, как у людей  smile 
PM MAIL   Вверх
darf
Дата 15.8.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 6.4.2007

Репутация: 1
Всего: 1



Цитата

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

Бессовестно врут.
Наоборот, если не вызывать, будут проблемы. А сименсы как раз отличаются тем, что на них код отлаживать лучше - больше багов можно найти.
PM MAIL   Вверх
satellite1977
Дата 16.8.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Если Канва не создается, то каким же образом работают команды, например, drawLine?
А насчет SetFullScreen - так это я уже позже добавил, подумал - вдруг поможет )))
И еще: Вчера пробовал это на реальном девайсе sony ericson k750i, модель продвинутая и я думаю никаких проблем с реализацией java там быть не может. Так вот, там та же картина что и с C65 )))
А на моей nokia n72 все пашет ок.

Это сообщение отредактировал(а) satellite1977 - 16.8.2007, 10:47
PM MAIL   Вверх
satellite1977
Дата 16.8.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Оказывается...........drawString("hello", 20 ,20, g.LEFT) - работает на моей Nokia, но для C65 одного лишь параметра LEFT недостаточно - нужен еще, например, g.TOP.  Т.е. нужно указать как горизонтальное так и вертикальное выранивание. 
drawString ("hello, 20, 20 , g.LEFT | g.TOP) - работает )))
Вот и вся проблема.
Спасибо за помощь )))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1141 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.