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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Alert! Можно ли фиксировать переключение, и самому управлять 
:(
    Опции темы
Lisus
Дата 24.10.2008, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что мне не нравиться в самом Alert.

1) нельзя совмещать команды и таймер.
Например нужен алерт, который "закроется" не от таймера, а от другого события.
следовательно на таймер ставить нельзя, но и без таймера появляется пративная комманда.
Иногда наоборот нужен и таймер, и команда (чтобы долго не ждать).

2) нужно фиксировать смену экранов.
например фиксировать момент, когда пользователь кнопку нажимает и Alert заменяется другим экраном.
Другие экраны я переключаю сам, поэтому есть возможность совмещать этот момент с некоторыми обработками и событиями. С алерт врядли такое пройдёт.

Собственно 1) и 2) - это вопросы.
PM MAIL   Вверх
eugine_s
Дата 24.10.2008, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

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



Как на счет написать свой Alert? или расширить (унаследовать) и переопределить методы (если возможно) в Alert-е? 
PM MAIL   Вверх
Lisus
Дата 24.10.2008, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



На сколько я понимаю сам алерт ничего не делает,  все операции выпоняет какой-то там менеджер, поэтому переопределить алерт можно, но зачем.

Когда-то я вообще не юзал компоненты графики, типа Form, Alert.... мне и канваса на все случаи хватало.
Однако, сейчас по красоте теже Алерт делаются очень и очень красиво. А главное стильно. Не хочется вставляется свой капот от жигуля на основу БМВ, не хочется нарушать стиль, и тем более его портить. Это ответ на вопрос о собственном написании Алерта.
PM MAIL   Вверх
eugine_s
Дата 24.10.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

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



Цитата(Lisus @  24.10.2008,  08:43 Найти цитируемый пост)
На сколько я понимаю сам алерт ничего не делает,  все операции выпоняет какой-то там менеджер, поэтому переопределить алерт можно, но зачем.


Может стоит узнать точно, кто что делает? 

Зачем переопределять? Чтобы добавить свой  функционал (расширить функционал) или заменить функционал.

Я не понимаю суть твоих вопросов: тебе не нравится что Alert так работает(как описано в доке), но расширять или изменить его возможности ты не хочешь. В чем суть вопроса? 

Цитата

1) нельзя совмещать команды и таймер.

Нельзя. Возьми и добавь свою функциональность: Alert будет работать с командами, а твоя расширенная функиональность будешь следить за временем, и когда это время закончиться, то сам закроет твоя расширенная функциональность.
Так же можно добавить срабатывания не только он таймера, а от другого события. Тоже не вижу никаких проблем.

Цитата(Lisus @  24.10.2008,  08:22 Найти цитируемый пост)
2) нужно фиксировать смену экранов.

Тут тоже не вижу никаких проблем.
нажатие кнопки вызывается событие в CommandListener....


Или я чего-то не так понимаю? 

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


Шустрый
*


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

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



По просьбе трудящихся.


Цитата(eugine_s @  24.10.2008,  13:14 Найти цитируемый пост)
Зачем переопределять? Чтобы добавить свой  функционал (расширить функционал) или заменить функционал.

Я так понимаю, что переопределять, значит наследовать.


Цитата(eugine_s @  24.10.2008,  13:14 Найти цитируемый пост)
Я не понимаю суть твоих вопросов: тебе не нравится что Alert так работает(как описано в доке), но расширять или изменить его возможности ты не хочешь. В чем суть вопроса?


Я хочу расширить возможности (точнее заменить). Но не могу. Алерт не поддерживают команды, плюс нет доступа к механизму смены. Если Вы знаете как добиться расширения, приведите пример.

 

Цитата(eugine_s @  24.10.2008,  13:14 Найти цитируемый пост)
будешь следить за временем, и когда это время закончиться, то сам закроет твоя расширенная функциональность.

До этого я и сам додумался.


СТОП,,,
Е.Буткевич типа писал, что для Алерта добавления комманды и установление слушателя выдаёт 
IllegelStateException. Врал выходит. Если так, то это совсем иное дело. Тогда вопроса нет.

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


Новичок



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

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



Цитата(Lisus @  24.10.2008,  18:00 Найти цитируемый пост)
СТОП,,,
Е.Буткевич типа писал, что для Алерта добавления комманды и установление слушателя выдаёт 
IllegelStateException. Врал выходит. Если так, то это совсем иное дело. Тогда вопроса нет.


А может Буткевич и не врал. Пожалуйста, помогите разобраться!

Программа с таким кодом в эмуляторе работает нормально
Код

alert.addCommand( back );
alert.setCommandListener( this );

А в настоящем телефоне Nokia 3100 (MIDP 1.0, CLDC 1.0) после добавления команды выдаёт:  java/lang/IllegelStateException
Может, потому что старая модель?
Просто проверить на новом телефоне пока не могу.

Это сообщение отредактировал(а) John2 - 18.11.2009, 19:37
PM MAIL   Вверх
eugine_s
Дата 18.11.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

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



Цитата(John2 @  18.11.2009,  19:36 Найти цитируемый пост)
А в настоящем телефоне Nokia 3100 (MIDP 1.0, CLDC 1.0) после добавления команды выдаёт:  java/lang/IllegelStateException


MIDP 1.0, Alert
Код

public void addCommand(Command cmd)
Throws:
IllegalStateException - always


MIDP 2.0, Alert
Код

public void addCommand(Command cmd)
Throws:
NullPointerException - if cmd is null


Вывод, на MIDP 1.0 исключение (IllegalStateException) будет всегда вываливаться, на MIDP2.0 возможно только NullPointerException при условии что добавляемая команда = null
PM MAIL   Вверх
John2
Дата 18.11.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(eugine_s @  18.11.2009,  20:18 Найти цитируемый пост)
Вывод, на MIDP 1.0 исключение (IllegalStateException) будет всегда вываливаться, на MIDP2.0 возможно только NullPointerException при условии что добавляемая команда = null 


eugine_s, спасибо за помощь!
В поставляемом WTK2.5.2_01 документация, как я понял в основном по MIDP 2.0, хотя есть сноски и на MIDP 1.0. Как быть в подобных случаях? Может кто подскажет документацию для сравнения профилей?
PM MAIL   Вверх
eugine_s
Дата 19.11.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

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



У меня стоит WTK от SE, там при установке можно выбрать WTK1 и/или WTK2 ставить. Если установишь оба, тогда будет отдельно документация по midp 1.0 и 2.0

Но, зачем тебе 1.0? Только для совместимости с твоим телефоном? 
PM MAIL   Вверх
John2
Дата 20.11.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(eugine_s @  19.11.2009,  14:42 Найти цитируемый пост)

Но, зачем тебе 1.0? Только для совместимости с твоим телефоном?

Да в основном для этого, кроме того это возможность протестировать программу на разных телефонах.
Ещё раз спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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