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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Этот код без ошибок? 
:(
    Опции темы
Kalisnik
Дата 26.12.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я учу Java 2 одновременно с Java2Me. На одном сайте нашел вот такой пример, но мне кажется он не корректен:

Файл HelloMIDlet.java
Код

package hello;

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

public class HelloMIDlet extends MIDlet implements CommandListener{

    private Display display;
    Command cmd;
    Command exit;
    Form form=new Form("Форма");

    public HelloMIDlet() {
        cmd=new Command("Кнопка", Command.OK, 0);
        exit=new Command("Выход", Command.EXIT, 1);
        display=Display.getDisplay(this);
    }

    public void startApp() {
        form.addCommand(cmd);
        form.addCommand(exit);
        form.setCommandListener(this);
        display.setCurrent(form);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
        if(c==cmd){
            form.append("Нажата кнопка");
        }else if(c==exit){
            destroyApp(true);
            notifyDestroyed();
        }
    }
}


Файл Canva.java
Код

package hello;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.game.GameCanvas;

public class Canva extends GameCanvas implements CommandListener{

    Display myDisplay;
    Command exit;
    HelloMIDlet midlet; //Зачем эта переменная? Я не вижу что бы она где-то использовалась.

    Canva(HelloMIDlet midlet){
        super(true);
        this.midlet=midlet;
        exit=new Command("Выход", Command.EXIT, 0);
        addCommand(exit);
        setCommandListener(this); //сдесь пишет что this потерена.
        myDisplay=Display.getDisplay(midlet);
        myDisplay.setCurrent(this); //и сдесь.
    }

    void paint(){
        paint(getGraphics());
        flushGraphics();
    }

    public void paint(Graphics g){
        g.setColor(250, 0, 0);
        g.fillRect(0, 0, g.getClipWidth(), g.getClipHeight());
    }

    public void commandAction(Command c, Displayable d) {
        if(c==exit){
            midlet.destroyApp(true);
            midlet.notifyDestroyed();
        }
    }
}


Вопрос: правильный ли код? Если нет, то как правильно? - если можно с комментариями.
PM MAIL   Вверх
oxigen
Дата 27.12.2011, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А в чем собственно проблема? Запустите и посмотрите.
Если выдает ошибку - напишите какую.

З.Ы.
Кстати переменная HelloMIDlet midlet используется. В методе commandAction(Command c, Displayable d).
PM MAIL   Вверх
Kalisnik
Дата 28.12.2011, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо. Да, как-то умудрился не заметить )) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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