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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Показать алерт 
:(
    Опции темы
nerezus
Дата 1.2.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



В программе у меня в одном из классов нужно вызвать алерт, закрыв который все должно быть с того места, где он возник.

Однако для этого алерта надо... display.setCurrent() сделать.
И потом прежный восстановить.
А ссылок то на класс мидлета нету.
И специально нести ссылку вниз не хочется, т.к. вроде нормально спроектировано приложение )

Сабж. Как показать пользователю алерт?

Пока вижу решение такое: сделать Singleton класс с алертом и в него внести ссылку на display. Но... как-то криво...


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
W0LF
Дата 1.2.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

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



Код

public class MainForm extends Form implements CommandListener {
    Alert alert = new Alert("Error");
    Command backCommand = new Command("Back",Command.BACK,0);
    Command okCommand = new Command("Ok",Command.OK,0);
    public MainForm(){
        super("Title");
        alert.setString("BLABLABLA");
        alert.addCommand(backCommand);
        alert.setCommandListner(this);
        addCommand(okCommand);
        setCommandListener(this);
    }

    public void commandAction(Command c, Displayable d){
        if (d == this){
            if (c == okCommand){                
                Main.setDisplay(alert);
            }
        }
        if (d == alert){
            if (c == backCommand){                
                Main.setDisplay(this);
            }
        }
    }


}


Это сообщение отредактировал(а) W0LF - 1.2.2007, 15:52


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
Vladimir35
Дата 1.2.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(nerezus @ 1.2.2007,  15:38)
нормально спроектировано приложение

Придется тащить указатели на мидлет (ну или дисплей).

Снимите j2se-очки. Это j2me. Про нормальную архитектуру забудьте. Тут возможна не более чем приемлимая.
PM MAIL WWW   Вверх
W0LF
Дата 1.2.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

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



Цитата

А ссылок то на класс мидлета нету.

Да, немного недочитал...
Я всегда делал в мидлете статический метод getInstance(), который и возращал мидлет.
Ну, а далее мона и менять уже экран

Цитата

Снимите j2se-очки. Это j2me. Про нормальную архитектуру забудьте. Тут возможна не более чем приемлимая. 

Последний раз на мою такую фразу мне ответили, что для современных телефонов бизнес-приложение нужно нормально проектировать, чтоб никто потом не мучался.
И на самом деле - после рефакторинга старого кода намного легче работать.
Так что можно потихоньку одевать j2se-очки smile



--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
nerezus
Дата 1.2.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

Снимите j2se-очки. 
 Никогда на j2se не писал ;)

Цитата

Я всегда делал в мидлете статический метод getInstance(), который и возращал мидлет.
 Эм... а как получить эту ссылку из класса, который находится в package уровнем ниже?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Antropoid
Дата 1.2.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Цитата(nerezus @  1.2.2007,  18:05 Найти цитируемый пост)
Эм... а как получить эту ссылку из класса, который находится в package уровнем ниже?

Импортировать класс-мидлет в этот класс.


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
nerezus
Дата 1.2.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

Импортировать класс-мидлет в этот класс. 

ссылка будет типа import ../* ?
если я пишу просто import className, то ругается =\


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
W0LF
Дата 2.2.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

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



Допустим у тя есть мидлет - Main. 
в нем прописал - package src например
Далее есть класс - NetManager. 
у него - package src.Managers
и    import src.Main



--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
javastic
Дата 2.2.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

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



nerezus, и пользуй стандартную фичу 
Код

setCurrent( alert, prevForm )



--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Vladimir35
Дата 2.2.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(W0LF @ 1.2.2007,  17:41)
Последний раз на мою такую фразу мне ответили, что для современных телефонов бизнес-приложение нужно нормально проектировать.

Правильно ответили. Не стоит путать логику работы приложения, и аспекты реализации технической части.

Действительно у меня было написано не точно. Имеется в виду, что архитектура стандартных j2me классов не совсем четкая и не совсем ясная.  Поэтому при проектировании техчасти не стоит заморачиваться по-поводу правильной архитектуры.

А вот логику решаемой проблемы - трогать нельзя. (что вам и ответили)

Это сообщение отредактировал(а) Vladimir35 - 2.2.2007, 12:28
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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