| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Получение данных из TextBox |
| Автор: zexak 16.9.2009, 17:19 | ||
В проекте имеется несколько классов. Так вот в одном из классов расположен TextBox:
Так вот, из остальных классов требуется вывод введенных значений этого GlobalText'a, а вот реализовать это-меня затрудняет. При любой попытке это сделать выводится значение "null" Как добавить значение TextBox в память и запрашивать его из других классов? |
| Автор: Dancer 16.9.2009, 18:34 |
| либо глобальная переменная public class MyClass { public static TextBox GlobalText = null; ..... } И вызов будет таким: import MyClass; ...... if(MyClass.GlobalText != null ) { System.out.println("Expected Text: " + MyClass.GlobalText.getString()); } ----------------------------- либо статический метод у данного класса организовываем и дёргаем метод где нужно: public class MyClass { private static TextBox GlobalText = null; public static String getTextFromGlobalText() { return (GlobalText != null) ? GlobalText.getString() : null; } ..... } И вызов будет таким: import MyClass; .... System.out.println("Expected Text: " + MyClass.getTextFromGlobalText()); ------------------ Если нужно на каждом объекте это дело иметь, то тогда не делаем статическую переменную, но тогда нужно будет на нужном тебе объекте дёргать либо метод, либо обращаться к public переменной и вызывать метод getString() на твоей переменной. ======== Да и кстати, в WTK есть UIDemo, посмотри там исходники, всё на пальцах в общем то показанно. |
| Автор: zexak 16.9.2009, 20:47 |
| Наверно покажусь навязчивым, но все же: C:\...\src\Test2.java:7: '.' expected import Test; ^ C:\...\src\Test2.java:7: ';' expected import Test; ^ 2 errors com.sun.kvem.ktools.ExecutionException Build failed Как я понимаю, WTK не доволен знаками препинания... Но как бы не менял, ни в какую... Использовал глобальную переменную. |
| Автор: zexak 17.9.2009, 20:36 | ||
| Поставил Eclipse, конечно же хороший редактор А так, в литературе, которая есть на руках, не встречал способа записи данных в память и извлечения их оттуда... Вы уж меня извините за то, что вас так допекаю А насчет вариантов переноса, то при просмотре примеров WTK, я наткнулся на WMADemo и думал, что данные нужно переносить методом(я процитирую):
Вот примерно так я хотел перенаправлять данные из класса в класс(наивный, да?) Насчет глобальной переменной, ну, наверно уже наглею, но могли бы вы написать какой-нить мидлет для примера, в котором будет реализована глобальная переменная |
| Автор: W0LF 18.9.2009, 10:22 |
| а в чем собственно проблема? делаете ее статической и юзаете из других классов |
| Автор: hamsterKSU 18.9.2009, 10:55 | ||||
блин, я же тебе уже показывал пример как это делать в другой ветке http://forum.vingrad.ru/forum/topic-272549.html А то что там SmsSender - то это класс для отправки смс(он реализует логику). а параметры в него передали через конструктор. Между прочим в римере который лежит в ветке http://forum.vingrad.ru/forum/topic-272549.html реализованы два способа, через метод setData и через коструктор. Посмотри внимательно |
| Автор: Dancer 18.9.2009, 11:16 | ||||
| Дык, а причём тут мидлет то собственно? Посмотри книжки по Java вообще. вот 2 файла, кладёшь их в одну директорию и компилишь: javac *.java запускаешь: java test1 Надеюсь принцип понятен и код объяснений не требует. ============================================== file test.java
file test1.java
|
| Автор: hamsterKSU 18.9.2009, 12:56 |
| P.S. классы принято называть с большой буквы. подчеркивание только в константах. если переменная состоит из двух слов то второе слово просто пишется с большой буквы - не global_var, а globalVar Добавлено через 1 минуту и 7 секунд а то в записи test.getVar() непонятно куда мы обращаеться к экземляру класса или к самому классу |
| Автор: ivanovpv 29.9.2009, 17:01 |
| Не робяты... Это не Java у вас, а какой-то бейсик, ей-бо... 1) Дело совсем не в J2ME, а вообще в ООП 2) Через статику - это что называется brute-force (фу как грубо....) 3) Такие вещи положено делать через геттеры и сеттеры |
| Автор: hamsterKSU 30.9.2009, 22:52 |
| про ООП полностью согласен - пример с гетерами/сетерами и конструкторами приводился ранее, но человек не хотит этого понимать. |