Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Форма


Автор: IceVolt 2.11.2011, 17:38
http://s1.ipicture.ru/Gallery/Viewfull/6625959.html



в общем пытаюсь реализовать Форму как показано на примере в рисунке, но при компиляции выдает ошибку типа:

j2mewtk\2.5.2\apps\FormProject\src\FormMidlet.java:4: class FormMIDlet is public, should be declared in a file named FormMIDlet.java
public class FormMIDlet extends MIDlet {


Автор: Rigid 2.11.2011, 18:25
Имя файла и public класса в нем должны совпадать, а у тебя FormMidlet и FormMIDlet

Автор: IceVolt 2.11.2011, 18:35
но ведь в книге так и написано! поменял название, стало хуже:


Error preverifying class FormMidlet
    Class loading error: Wrong name
com.sun.kvem.ktools.ExecutionException: Preverifier returned 1
Build failed

Автор: IceVolt 3.11.2011, 10:46
больше некому помочь?

Автор: oxigen 3.11.2011, 15:08
Конструктор не забыл переименовать?
Имя конструктора должно совпадать с именем класса и должно совпадать с именем java файла.

Это все тот же Буткевич? За такое число ошибок в примерах стоит оторвать редактору этой книги руки.
Там в книге точно нет ссылки на то, где можно эти примеры скачать?

Автор: IceVolt 3.11.2011, 17:17
oxigen, просмотрите картинку\рисунок в первом посте, сделал все точно так же.

ан нет, это уже не Буткевич а Программируем игры для мобильных телефонов. Под редакцией А.В. Виноградова

Автор: oxigen 3.11.2011, 18:43
В книге:
Файл называется FormMidlet.java
Класс FormMIDlet
Конструктор FormMIDlet()

Чтобы все заработало, надо поменять названия класса и конструктора. Чтоб они совпали с именем файла.

А Вы похоже переименовали .java файл. Но тогда надо было еще в свойствах мидлета тоже поменять название. Это в .jad файле
А то сейчас он при запуске ищет файл со старым названием. И естественно не находит.

Автор: IceVolt 3.11.2011, 22:21
oxigen, сделал как вы сказали, даже заново переделал все, компилятору все пофиг, он все так же уверенно ругается!

Автор: IceVolt 3.11.2011, 22:53
вот! теперь компилится нормально, но при тесте ругается опять ((((


Uncaught exception java/lang/NoClassDefFoundError: FormMIDlet.

что тут с формами не правильно?

Добавлено через 7 минут и 5 секунд
private Form form; \\объявил переменную 

public FormMidlet () {

form = new Form ("Форма"); \\создал форму

Display.getDisplay (this) .setCurrent (form); \\вывожу на экран

}


что здесь не правильно?

Автор: oxigen 4.11.2011, 10:59
Да с формами то все правильно.

Тут по прежнему лажа с именами.

Смотрите:
текст ошибки Uncaught exception java/lang/NoClassDefFoundError: FormMIDlet.
Конструктор : public FormMidlet () {
То есть по прежнему два разных имени присутствуют.

Создайте что ли новый проект с совершенно другим именем MyTest какой-нибудь.

Автор: IceVolt 4.11.2011, 11:44
офигеть просто можно! исключил из названия слово Form вообще и заработало! но почему так? ведь в книге у автора все нормально получается? может из за компилятора?

во всяком случае oxigen, спасибо вам огромное, вы во второй раз меня уже выручили!

Автор: math64 7.11.2011, 18:00
Посмотри в манифест - там название мидлета написано по-другому. Везде должно быть одинаково.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)