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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> есть ли в j2me аналог MessageBox - а??? 
:(
    Опции темы
dotSS
  Дата 13.6.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите как в j2me реализовать следующее:
Код

while(true)
{
if(!Client.Connect())
  {
     if(MessageBox("Ошибка соединения","повторить?")==NO)
          midlet..notifyDestroyed();
}
}

Не могу найти аналог MessageBox, везде пишут про Alert, но я не могу понять как получить результат(какую команду выбрали в Alerte) или хотя бы остановить поток до его закрытия. 
PM MAIL   Вверх
W0LF
Дата 13.6.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


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

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



Привет.
Если тебе нужен Alert, то вот пример:
Код

public class Main extends MIDlet {
    private static MIDlet midlet;
    private static Display display;
    public Main(){
        display = Display.getDisplay(this);
        midlet = this;
    }
    public void startApp(){
        setDisplay(new MainMenu());
    }
    public void pauseApp(){

    }
    public void destroyApp(boolean unconditional){

    }
    public static MIDlet getInstance(){
        return midlet;
    }
    public static void setDisplay(Displayable d){
        display.setCurrent(d);
    }

}

public class MainMenu extends Form implements CommandListener, Runnable {
    Command cStart;
    Command cOk = new Command("Ok",Command.OK,1);
    Command cExit = new Command("Exit",Command.EXIT,1);
    Alert alert = new Alert("Alert");
    public MainMenu(){
        super("MainMenu");
        cStart = new Command("Start", Command.OK, 1);
        this.addCommand(cStart);
        setCommandListener(this);
    }
    public void commandAction(Command c, Displayable d){
        if(d == alert){
            if(c==cOk){
                Main.setDisplay(this);
            }
            if(c==cExit){
                Main.getInstance(notifyDestroyed);
            }
        }
        if(d == this){
            if(c == cStart){
                alert.addCommand(cOk);
                alert.addCommand(cExit);
                alert.setCommandListener(this);
                Main.setDisplay(alert);                
            }
        }
    };
}

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

public class Message extends Form implements CommandListener {
    CommandListener cl;
    Command commandOk;
    Command commandExit;
    public Message(String title, String message, int type){
        super(title);
        append(message);
        super.setCommandListener(this);
    }
    public void setCommandListener(CommandListener cl) {
        this.cl = cl;
    }
    public void commandAction(Command c, Displayable s) {
        cl.commandAction(c, s);
    }


    public void addCommand(int commandType){
        switch(commandType){
            case Command.OK:
                commandOk = new Command("OK", commandType, 1);
                addCommand(commandOk);
                break;
            case Command.EXIT:
                commandBack = new Command("EXIT", commandType, 1);
                addCommand(commandBack);
                break;
        }
    }
    public Command getCommand(int commandType){
        switch(commandType){
            case Command.OK:
                return commandOk;
            case Command.EXIT:
                return commandExit;
        }
        return null;
    }

}

А использовать так:
Код

Message message = new Message("Title","Alert",0);
public void commandAction(Command c, Displayable d){
        if(d == message){
            if(c == message.getCommand(Command.OK)){
                Main.setDisplay(this);
            }
            if(c == message.getCommand(Command.EXIT)){
                Main.getInstance(notifyDestroyed);
            }
        }
        if(d == this){
            if(c == cStart){                
                message.addCommand(Command.Ok);
                message.setCommandListener(this);
                Main.setDisplay(message);                
            }
        }
};

Это будет чуть быстрее работать  

Это сообщение отредактировал(а) W0LF - 13.6.2006, 17:33


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


Опытный
**


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

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



надо сказать, что заменитель Алерта будет выглядеть чуть иначе,а на некоторых трубах даже и не чуть а сильно. 


--------------------
Имею Мнение Хрен Оспоришь   
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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