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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с базами данных. Netbeans 6.8 
:(
    Опции темы
aljazeer
  Дата 23.7.2010, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вопрос собственно заключается в следующем. Я пишу нечто на подобие игры, и мне необходима помошь в написании формы для создания нового пользователя. Опишу алгоритм действий для этого кусочка проги. 
Имеется список игроков - изначально пустой, при нажатии кнопки ДОБАВИТЬ ИГРОКА переходим на Textbox в котором собственно его и вводим. Затем при нажатии кнопки ОК мы должны вернуться в предыдушую форму со списком и увидеть наше имя в нем.
Изначально у меня было два варианта - первый, создание глобальной переменной типа String, которой бы присваивалось бы имя, а потом она бы использовалась в форме со списком, и второй - создание файла , образующего базу данных, вроде бы мне сказали что это возможно, ибо Midlet резервирует место для подобного рода операций, однако трудность в том что не знаю команд-аналогов C, C#,C++ в которых я работал до этого , аля Fileopen.
Если кто встречался с подобной проблемой будте добры подскажите. smile 

Это сообщение отредактировал(а) aljazeer - 23.7.2010, 23:34
PM MAIL   Вверх
ivanovpv
Дата 24.7.2010, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


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

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



Все делается гораздо проще - на то есть средства собственно J2ME. Есть такой метод, который и заставляет показать на экране нечто.
Код

        Display display;
        //....
        display.setCurrent(newDisplayable);

Если у вас множество экранов (Displayable) - то обычно их надо держать где-то за пазухой время от времени подсовывая юзеру. Стандартной реализацией такого механизма является хранение экранов в виде стекового списка. Пример реализации описан здесь - смотрите класс DisplayManager и его применение.

В общем мессидж простой - держите под рукой все свои формы и время от времени высовывайте их юзеру по мере необходимости обновляя элементы форм/экранов.



Это сообщение отредактировал(а) ivanovpv - 24.7.2010, 06:52


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
eugine_s
Дата 24.7.2010, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Дополню: скорее всего вам нужно будет хранить игроков не только во время игры (сессии), но и в промежутках тоже. Для этого лучше всего смотреть в сторону RMS.
PM MAIL   Вверх
aljazeer
Дата 25.7.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



идею понял, создал класс display, который содержал в себе 
Код

class DisplayManager extends Stack {
  private Display display; // Reference to Display object

  private Displayable mainDisplayable; // Main displayable for MIDlet

  private Alert alStackError; // Alert for error conditions

  /*--------------------------------------------------
   * Display manager constructor
   *-------------------------------------------------*/
  public DisplayManager(Display display, Displayable mainDisplayable) {
    // Only one display object per midlet, this is it
    this.display = display;
    this.mainDisplayable = mainDisplayable;

    // Create an alert displayed when an error occurs
    alStackError = new Alert("Displayable Stack Error");
    alStackError.setTimeout(Alert.FOREVER); // Modal
  }

  /*--------------------------------------------------
   * Push the current displayable onto stack and set
   * the passed in displayable as active
   *-------------------------------------------------*/
  public void pushDisplayable(Displayable newDisplayable) {
    push(display.getCurrent());
    display.setCurrent(newDisplayable);
  }

  /*--------------------------------------------------
   * Return to the main displayable object of MIDlet
   *-------------------------------------------------*/
  public void home() {
    while (elementCount > 1)
      pop();
    display.setCurrent(mainDisplayable);
  }

  /*--------------------------------------------------
   * Pop displayable from stack and set as active
   *-------------------------------------------------*/
  public void popDisplayable() {
    // If the stack is not empty, pop next displayable
    if (empty() == false)
      display.setCurrent((Displayable) pop());
    else
      // On error show an alert
      // Once acknowledged, set 'mainDisplayable' as active
      display.setCurrent(alStackError, mainDisplayable);
  }
}

затем я так понимаю, мне надо при нажатии одной кнопки осушествить сохранение в стек действуюшего значения экрана,а для другой кнопки сделать вызов из стэка изображения дисплея на тот момент когда оно в него загонялось. Сложность оказалась в том что команда вызова этих ф-й в вашем примере midlet.displayMgr.popDisplayable(); допустим эта уже не воспринимается как должное моей средой... будте добры подскажите правильную команду 
 


Это сообщение отредактировал(а) aljazeer - 25.7.2010, 12:53
PM MAIL   Вверх
sanboll
  Дата 27.7.2010, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что за бредятина? 

Установить новый экран - 
Display.getDisplay(midlet).setCurrent(newDisplayable)
Получить экран, который сейчас активен - 
Display.getDisplay(midlet).getCurrent()
Какой еще стек? Какой еще DisplayManager?

Все дисплеи нужно хранить в переменных.
Если у тебя всего два экрана - форма(или лист) и текстбокс.
PM MAIL   Вверх
ivanovpv
Дата 27.7.2010, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


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

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



Цитата(sanboll @  27.7.2010,  07:27 Найти цитируемый пост)
Что за бредятина? 

Полегче на поворотах коллега - речь идет о менеджере экранов пример реализации которого описан здесь - облегчает знаете ли жизнь.

Вместо хранения экранов в переменных предлагается способ хранения в стековом списке java.util.Stack

Это сообщение отредактировал(а) ivanovpv - 27.7.2010, 08:06


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
sanboll
Дата 27.7.2010, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ясно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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