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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенос данных из класса в класс, Как переслать данные окна(формы)? 
:(
    Опции темы
zexak
Дата 11.9.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не так давно начал изучать j2me, ну и, попытавшись написать свой мидлет, столкнулся со следующей ситуацией:
У меня имеется 2 класса, в первый вносятся данные 
Код

//код окна
       Form NewForm = new Form("Введите данные");
       Name= new TextField("Первое поле", null, 110, TextField.ANY);
       FName= new TextField("Второе поле", null, 110, TextField.ANY);
       NewForm.append(Name);
       NewForm.append(FName);
       NewForm.addCommand(exitCommand);
       NewForm.addCommand(okCommand);
       NewForm.setCommandListener(this);


Вторым классом планируется обработка введенных значений. А проблема заключается в том, что я не знаю как переслать введенные данные во второй класс.
Надеюсь, суть проблемы описал понятно, интересует наглядный пример  smile  реализации отправки данных из первого класса во второй.  Ну и правильный прием этих данных вторым классом.
PM MAIL   Вверх
hamsterKSU
Дата 11.9.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

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



извините конечно, но это полный пипец....
такое впечатление, что вы вообще не знаете, что такое программирование.
Что же не понятного.
Решений много от обыкновенного метода с определенным количеством полей до создания класса с нужными полями и опять же передачи его через метод/конструктор в другой класс

Добавлено через 1 минуту и 15 секунд
в вашем обработчике событий формы/меню вычитываете данные из одной формы и переносите в другую или куда там еще надо

Добавлено через 13 минут и 25 секунд
Ну если уж совсем тяжко....

Код

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;

public class FormA implements CommandListener {
    
    private Command cmd = new Command("Save", Command.ITEM, 1);

    private TextField firstField;
    
    private TextField secondField;
     
    private MIDlet midlet;
    public FormA(MIDlet midlet) {
        this.midlet = midlet;
        Form newForm = new Form("Введите данные");
        firstField = new TextField("Первое поле", null, 110, TextField.ANY);
        secondField = new TextField("Второе поле", null, 110, TextField.ANY);
        newForm.append(firstField);
        newForm.append(secondField);
        newForm.addCommand(cmd);
        newForm.setCommandListener(this);
        Display.getDisplay(midlet).setCurrent(newForm);
    }

    public void commandAction(Command arg0, Displayable arg1) {
        if(arg0 == cmd){
            FormB fb = new FormB(this.midlet,firstField.getString(), secondField.getString() );
            //или
            //FormB fb = new FormB(this.midlet );
            //fb.setData(firstField.getString(), secondField.getString());
        }
    }
}



Код

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;


public class FormB extends Form{
    
    private TextField firstField;
    
    private TextField secondField;
    
    public FormB(MIDlet midlet){
        this(midlet, null, null);
    }
    
    public FormB(MIDlet midlet, String s1, String s2){
        super("FormB");
        firstField = new TextField("Первое поле", s1, 110, TextField.ANY);
        secondField = new TextField("Второе поле", s2, 110, TextField.ANY);
        this.append(firstField);
        this.append(secondField);
        Display.getDisplay(midlet).setCurrent(this);
    }
    
    public void setData(String str1, String str2){
        firstField.setString(str1);
        secondField.setString(str2);
    }
}



Добавлено через 13 минут и 51 секунду
не запускал но вроде так  
PM MAIL ICQ   Вверх
zexak
Дата 12.9.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если вы насчет моего кода, то там комментарием пояснение о том, что это лишь код окна(т.е. я дал частичный код), и это вы называете "полный пипец...."?
В литературе, которая есть на руках не встречалось вариантов реализпции данного метода.
PM MAIL   Вверх
zexak
Дата 12.9.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пример с формой интересный, ну, если вам(форумчане) не трудно, могли бы вы показать пример реализации, используя метод sender
PM MAIL   Вверх
hamsterKSU
Дата 12.9.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

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



какой метод sender? в своем commandAction все и отсылаешь.

Можно еще хитрее сделать, если вам не нравятся простые решения, реализовать модель - эвент-листенер.


PM MAIL ICQ   Вверх
W0LF
Дата 13.9.2009, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


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

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



zexak, мы тут не волшебники, нужно детальнее пояснять. какой sender?
Почему бы не открыть один из примеров WTK и там все посмотреть? там есть очень хорошие примеры. 
а вообще сначала нужно бы немного мат часть поизучать...


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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