Форум программистов, компьютерный форум, киберфорум
Java ME (J2ME)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
5 / 5 / 4
Регистрация: 10.02.2011
Сообщений: 48

Массивы объектов

23.05.2012, 14:47. Показов 1852. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые программисты (), у меня остался все тот же вопрос, насчет массивов объектов... "Заполнить" индекс массива получается без ошибок, но вот запустить тот или иной метод, у объекта, что лежит в том самом индексе, не получается (также не получается вызвать метод из объекта, который является значением переменной)... Причем, компиляция проходит нормально - открывается телефон, а вот в нем уже пишет, мол, приложение не работает, обратитесь к поставщику. 0
Вот, выкладываю код всех 4 классов (за неухоженность кода прошу не ругаться - я его потом причешу ). Этот "проект" я делал, в качестве примера, по просьбе одного человека - так, что нужные (а может и нет XD) cтроки содержат комментарии)
Также, прошу не обращать внимания на закомментированные строки кода)
Midlet:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.*;
 
public class Midlet extends MIDlet
{
    GCanvas canvas;
    public Midlet()
    {
        canvas  = new GCanvas(this);
        canvas.threadCreate();
    }
    public void startApp()
    {
       Display.getDisplay(this).setCurrent(canvas); 
    }
    
    public void pauseApp()
    {
    }
    
    public void destroyApp(boolean unconditional)
    {
    }
}

GCanvas:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.game.GameCanvas;
 
 
public class GCanvas extends GameCanvas implements Runnable
{
    private Thread thread;
    private Graphics g;
    private Midlet mymidlet;
    private Drawable[] object = new Drawable[100]; /*Создаем массив объектов,
    родителем которых является Drawable (нужно для дальнейших манипюляций, таких как сохранение игры,
    отрисовка объекта на экран и т. д.) */
    public GCanvas(Midlet mid)
    {
        super(true);
        mymidlet = mid;
        object[0] = new Player(32, 32);
        thread = new Thread();
        thread.start();
        run();
    }
    
    public void run()
    {
        g = getGraphics();
        /*for(int i = 0; i < object.length; i ++)
        {
            object[i].drawSelf(g);
        }*/
        object[0].drawSelf(g); //Именно при вызове метода у объекта, что лежит в индексе массива или является значением переменной, возникает та самая ошибка. Без этой строки все работает гладко
        g.setColor(255, 0, 255); //Устанавливаем цвет для рисования
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(0,0,0);
        g.drawString("TEST", 64, 10, Graphics.TOP | Graphics.LEFT);
        flushGraphics();
    }
}

Player:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import javax.microedition.lcdui.Graphics;
 
 
public class Player extends Drawable
{
    private int x, y;
    
    public Player(int x, int y)
    {
        this.x = x; this.y = y;
    }
 
    void drawSelf(Graphics g)
    {
        g.setColor(0, 0, 0);
        //g.fillRect(x, y, 32, 32);
        g.drawString("P", x, y, Graphics.TOP | Graphics.LEFT);
    }
    
}

Drawable:
Java
1
2
3
4
5
6
import javax.microedition.lcdui.Graphics;
 
public abstract class Drawable
{
    abstract void drawSelf(Graphics g); //Абстрактный класс для отрисовки
}
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2012, 14:47
Ответы с готовыми решениями:

Массивы объектов в С++
Как работать с массивом объектов (классы)? Приведите пожалуйста какой-то простой пример . Заранее огромное спасибо .

Массивы объектов
class CPhone { int a,b; public: CPhone(int a1,int b1):a(a1),b(b1){} }; CPhone tel={12,23,34,45}; Какое значение имеет tel.b? ...

Массивы объектов
Создать класс «Поезд», содержащий следующие закрытые поля: Название пункта назначения; Номер поезда (буквы и цифры); ...

1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
23.05.2012, 15:49
чтото я не вижу в коде где массив наполняется этими драваблами, только создание есть

Добавлено через 11 минут
а нет увидел
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
Canvas myCanvas;
 
конструктор() { 
myCanvas = this.new MyCanvas();
    //Guarentee that the screen gets painted.
    myCanvas.repaint();
}
 
ТЕЛО {
//Make the Canvas the current display.
Display.getDisplay(this).setCurrent(myCanvas);
 
и уже потом рисуем по ней}
Java
1
2
3
4
5
6
7
8
class MyCanvas extends Canvas{
    public void paint(Graphics g){
      //Paint the screen white
      g.setColor(0xffffff);
      g.fillRect(0,0,getWidth(),getHeight());
 
      //Set the drawing color to black.
      g.setColor(0x000000);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2012, 15:49
Помогаю со студенческими работами здесь

Массивы объектов в С++
Здравствуйте, подскажите пожалуйста можно ли как нибудь создать массив из 30 картинок в File-&gt;New-&gt;Application разделе?

Массивы объектов
у меня в классе имеется конструктор с параметрами. как мне создать массив объектов, вызывая при этом этот конструктор? к примеру Neuron...

Массивы объектов. Наследование
Здравствуйте! Скоро экзамен, а я никак не могу решить эту задачу, может кто-то поможет? Вот условие: Создать класс окружность, член...

Динамические массивы объектов
Здравствуйте,у меня возникли не большие проблемы с программной и я не могу понять как мне двигаться дальше. Прошу помочь с этим. Суть...

Массивы дочерних объектов
У меня есть родительский класс Loop и дочерние от него классы Detector и Panel. int main () { Panel a, b, c; vector &lt;Loop...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru