![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
zexak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
В проекте имеется несколько классов. Так вот в одном из классов расположен TextBox:
Так вот, из остальных классов требуется вывод введенных значений этого GlobalText'a, а вот реализовать это-меня затрудняет. При любой попытке это сделать выводится значение "null" Как добавить значение TextBox в память и запрашивать его из других классов? |
|||
|
||||
Dancer |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
либо глобальная переменная
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, посмотри там исходники, всё на пальцах в общем то показанно. Это сообщение отредактировал(а) Dancer - 16.9.2009, 18:36 -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
zexak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Наверно покажусь навязчивым, но все же:
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 - 16.9.2009, 21:16 |
|||
|
||||
hamsterKSU |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 7 Всего: 11 |
не вздумай такого делать. если и решаешся на глобальную переменную то делай ее хотя бы типа String Добавлено через 3 минуты и 57 секунд блин ну что же не понятного-то. уже приводили пример тебе. В твоем случае можно так поступить: У тебя ведь есть главный класс(класс приложения/главный поток/ или слой доступа к данным) он обычно сингелтон(класс-одиночка). Вот в нем и заводишь переменную типа String. В твоей формочке реализуешь обновление этого поля. Либо по нажатию кнопки какой-то (типа save, ok) или реагируешь на изменение поля. Добавлено через 5 минут и 48 секунд а если сам не могешь понять что да как, то кинь свои классы сюда - поможем. И еще поставь себе нормальное IDE, а то возишься в WTK и блокноте - производительность труда увеличиться |
|||
|
||||
zexak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Поставил Eclipse, конечно же хороший редактор
![]() А так, в литературе, которая есть на руках, не встречал способа записи данных в память и извлечения их оттуда... Вы уж меня извините за то, что вас так допекаю ![]() ![]() А насчет вариантов переноса, то при просмотре примеров WTK, я наткнулся на WMADemo и думал, что данные нужно переносить методом(я процитирую):
Вот примерно так я хотел перенаправлять данные из класса в класс(наивный, да?) Насчет глобальной переменной, ну, наверно уже наглею, но могли бы вы написать какой-нить мидлет для примера, в котором будет реализована глобальная переменная ![]() |
|||
|
||||
W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
а в чем собственно проблема? делаете ее статической и юзаете из других классов
-------------------- iOS developer |
|||
|
||||
hamsterKSU |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 7 Всего: 11 |
блин, я же тебе уже показывал пример как это делать в другой ветке http://forum.vingrad.ru/forum/topic-272549.html А то что там SmsSender - то это класс для отправки смс(он реализует логику). а параметры в него передали через конструктор. Между прочим в римере который лежит в ветке http://forum.vingrad.ru/forum/topic-272549.html реализованы два способа, через метод setData и через коструктор. Посмотри внимательно |
||||
|
|||||
Dancer |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
Дык, а причём тут мидлет то собственно?
Посмотри книжки по Java вообще. вот 2 файла, кладёшь их в одну директорию и компилишь: javac *.java запускаешь: java test1 Надеюсь принцип понятен и код объяснений не требует. ============================================== file test.java
file test1.java
-------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
||||
|
|||||
hamsterKSU |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 7 Всего: 11 |
P.S. классы принято называть с большой буквы.
подчеркивание только в константах. если переменная состоит из двух слов то второе слово просто пишется с большой буквы - не global_var, а globalVar Добавлено через 1 минуту и 7 секунд а то в записи test.getVar() непонятно куда мы обращаеться к экземляру класса или к самому классу |
|||
|
||||
ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 10 Всего: 28 |
Не робяты... Это не Java у вас, а какой-то бейсик, ей-бо...
1) Дело совсем не в J2ME, а вообще в ООП 2) Через статику - это что называется brute-force (фу как грубо....) 3) Такие вещи положено делать через геттеры и сеттеры -------------------- Aut viam inveniam aut faciam |
|||
|
||||
hamsterKSU |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: 7 Всего: 11 |
про ООП полностью согласен - пример с гетерами/сетерами и конструкторами приводился ранее, но человек не хотит этого понимать.
|
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |