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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переменные из разных классов, Нубовский вопрос, сильно не ругайте :) 
V
    Опции темы
404NotFound
Дата 28.10.2010, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


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

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



Доброго времени суток. Хотя многие вещи в яве уже покорил, одна вешь, из примитивных до сих пор мне непонятна. Итак, имееться предположим мидлет со следующим содержанием
Код

public class Midlet extends MIDlet
{
public String str="test"
}

и имееться класс, например:
Код

public class tclass {

}


Так вот, как из класса tclass обратиться к переменной str из класса Midlet

Заранее спасибо  smile 
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
ivanovpv
Дата 28.10.2010, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


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

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



Вообще то это принято делать так (оставив за скобками стилистику) - через геттеры и сеттеры:

Код

public class Midlet extends MIDlet
{
       private String str;

       public getStr()
       {
             return this.str;
       }

       public setStr(String str)
       {
             this.str=str;
       }
}

class tclass
{
     public void test()
     {
          Midlet m=new Midlet();
          m.setStr("test");
          System.out.println("Обращение к str: "+m.getStr());
     }
}



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


Блуждающий
*


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

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



 smile 

Ни как не получается, вот пример кода, в чем ошибка?
Пытаюсь из класса Midlet передать строку str в класс mycanvas
Код


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Midlet extends MIDlet implements CommandListener{
    private Command show = new Command ("Показать",Command.SCREEN,1);
    private Form myform = new Form ("Test");
    private TextField tf = new TextField("Enter text","",100,TextField.ANY);
    private Display mydisplay = Display.getDisplay(this);
    private String str;
    Canvas canvas = new mycanvas();

    public String getStr()
{
    return this.str;
}

    public void startApp() {

        myform.append(tf);
        myform.addCommand(show);
        myform.setCommandListener(this);
        mydisplay.setCurrent(myform);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
     public void commandAction (Command c, Displayable d) {
             if (c==show)
        {
            str=tf.getString();
            mydisplay.setCurrent(canvas);
        }
}
}
class mycanvas extends Canvas{

   public void paint(Graphics g) {
      Midlet m=new Midlet();
      g.setColor(0xffffff);
      g.fillRect(0, 0, getWidth(), getHeight());
      g.setColor(0x000000);
      g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_MEDIUM));
      g.drawString(m.getStr(), 20, 20, Graphics.HCENTER | Graphics.TOP);

   }

}

--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
oxigen
Дата 2.11.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Midlet m=new Midlet(); вот это неверно. Ты не можешь сам создавать объект мидлет.

Вот так например сделай

Код

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Midlet extends MIDlet implements CommandListener{
    private Command show = new Command ("Показать",Command.SCREEN,1);
    private Form myform = new Form ("Test");
    private TextField tf = new TextField("Enter text","",100,TextField.ANY);
    private Display mydisplay = Display.getDisplay(this);
    private static String str;
    Canvas canvas = new MyCanvas();

    public static String getStr() { 
        return str;
    }

    public void startApp() {
        myform.append(tf);
        myform.addCommand(show);
        myform.setCommandListener(this);
        mydisplay.setCurrent(myform);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
    
     public void commandAction (Command c, Displayable d) {
         if (c==show){
            str=tf.getString();
            mydisplay.setCurrent(canvas);
        }
     }
}

class MyCanvas extends Canvas{

   public void paint(Graphics g) {
      g.setColor(0xffffff);
      g.fillRect(0, 0, getWidth(), getHeight());
      g.setColor(0x000000);
      g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_MEDIUM));
      g.drawString(Midlet.getStr(), 20, 20, Graphics.HCENTER | Graphics.TOP);

   }

}
 
PM MAIL   Вверх
404NotFound
Дата 2.11.2010, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


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

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



 smile 
СПАСИБО!!!!!
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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