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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MessageBox 
:(
    Опции темы
zss
Дата 2.12.2007, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть ли что подобное ?
PM MAIL ICQ   Вверх
Antropoid
Дата 2.12.2007, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

Display.getDisplay( this ).setCurrent(new Alert("MessageBox"));


где this - ссылка на класс MIDlet'a.


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


Опытный
**


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

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



Antropoid, спасибо

А почему он закрывается сам ? Я хочу закрывать его по нажатию на кнопку
PM MAIL ICQ   Вверх
Antropoid
Дата 5.12.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

Alert a = new Alert("MessageBox");
a.setTimeout(Alert.FOREVER);
Display.getDisplay( this ).setCurrent(a);



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


Опытный
**


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

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



Antropoid, а можно ли его закрыть по событию.

тоесть повесить событие, при завершении которого он закроется сам
PM MAIL ICQ   Вверх
Antropoid
Дата 14.12.2007, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Искуственно - Да. Т.е. событие по завершению себя делает так:
Код

Display.getDisplay( this ).setCurrent(/*другое окно*/);



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


Опытный
**


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

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



1. А кто удьет созданный Alert ? Хотелось бы я вно его убить
2. Никак не могу создать Alert, чтоб у него небыло Command. Тоесть чтоб его можно было закрыть только из вне
Код

however when the application removes the last command from an Alert, DISMISS_COMMAND is implicitly added.

тоесть либо добавлять свои - либо по-умолчанию бедет DISMISS_COMMAND  ?

Если так, то я хочу добавить кнопку отмены. Как при ее срабатывании отменить действие, которое происходит в отдельном потоке ?

3. Сделал как ты сказал.

Код

            new Thread ()
            {
                public void run ()
                {
                    try
                    {
                        Message.wait (m_display, "Подключение...");
                        m_client = new TcpClient (HOST_NAME, PORT_NUMBER);
                    }                    
                    catch (IOException ex)
                    {
                        Message.error (m_display, "Ошибка подключения");
                        ex.printStackTrace ();
                    }                    
                }
            }.start (); 

            m_display.setCurrent(m_form);                        


Что происходит
Сначала показываю Alert с индикатором.
После вылетает исключение. Я его ловлю и Сообщаю об ошибке.
Но после закрытия окна с ошибкой Alert висит и не собирается закрываться, пока я ему руками это не скажу

З.Ы. Код сообщений
Код


public class Message {
    
    public Message() {
    }
    
    static public void message(Display display, String message) {
        Alert alert = new Alert(null, message, null, AlertType.INFO);
        alert.setTimeout(Alert.FOREVER);
        display.setCurrent(alert);
    }
    
    static public void warning(Display display, String message) {
        Alert alert = new Alert(null, message, null, AlertType.WARNING);
        alert.setTimeout(Alert.FOREVER);
        display.setCurrent(alert);
    }
    
    static public void error(Display display, String message) {
        Alert alert = new Alert(null, message, null, AlertType.ERROR);
        alert.setTimeout(Alert.FOREVER);
        display.setCurrent(alert);
    }
    
    static public void wait(Display display, String message) {      
        Alert alert = new Alert(null, message, null, AlertType.CONFIRMATION);
        alert.setTimeout(Alert.FOREVER);
        alert.setIndicator(new Gauge(null, false, Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING));        
        display.setCurrent(alert);
    }
}


Это сообщение отредактировал(а) zss - 14.12.2007, 23:51
PM MAIL ICQ   Вверх
Antropoid
Дата 15.12.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(zss @  14.12.2007,  23:32 Найти цитируемый пост)
1. А кто удьет созданный Alert ? Хотелось бы я вно его убить

Его убьет Garbage Colector, - просто перед его заменой на другую форму сделай :
Код

a = null

Цитата(zss @  14.12.2007,  23:32 Найти цитируемый пост)
Никак не могу создать Alert, чтоб у него небыло Command. Тоесть чтоб его можно было закрыть только из вне тоесть либо добавлять свои - либо по-умолчанию бедет DISMISS_COMMAND ?

угу

Цитата(zss @  14.12.2007,  23:32 Найти цитируемый пост)
Если так, то я хочу добавить кнопку отмены. Как при ее срабатывании отменить действие, которое происходит в отдельном потоке ?

Ну добавляй кнопку, потом слушатель, - все как с собычной Form

Цитата(zss @  14.12.2007,  23:32 Найти цитируемый пост)
Что происходитСначала показываю Alert с индикатором.После вылетает исключение. Я его ловлю и Сообщаю об ошибке.Но после закрытия окна с ошибкой Alert висит и не собирается закрываться, пока я ему руками это не скажу

Ну так используй это:
public void setCurrent(Alert alert, Displayable nextDisplayable)
если хочешь, чтоб после закрытия алерта с ошибкой появлялось что-то другое


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


Эксперт
***


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

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



Цитата(zss @ 14.12.2007,  21:51)
Antropoid, а можно ли его закрыть по событию.

тоесть повесить событие, при завершении которого он закроется сам

яыы, все просто. Вначале поставь ему timeout как FOREVER, а после события установи = 1 сек.


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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