DDDEN!SSS, нет, ты писал, что платформа рассчитана на C++. Но на самом деле просто обычно программы писались на нем, а это совсем разные вещи. Под Java, кстати, ведь совершенно не обязательно писать именно на Java, например, есть скриптовый язык Groovy, который тоже компилируется в байт-код Java. И под Mophun наверняка можно было бы писать и на Pascal, просто смысла особого тут нет. Сейчас Mophun - это действительно мертвец: нет ни новых телефонов, ни приложений. У других фирм как раз именно либо уже есть Symbian или аналогичная ОС, либо им влом что-то серьезно делать, потому Java у них и такая парщивая. Кстати, на A200 у SE, насколько я знаю, родные программы уже написаны на Java, к слову говоря.
DDDEN!SSS, это система пакетов, в Шилдте подробно описывается в главе 9, насколько я помню. Ничего специально делать не нужно, просто бери и таскай файлы в нужную папку, не забудь только в начале каждого дописать строчку package. Допустим, исходник класса Display должен лежать в папке javax/microedition/lcdui и имеет в начале строчку package javax.microedition.lcdui;. Писать каждый раз полный путь не обязательно, ты же не пишешь каждый раз вместо Display javax.microedition.lcdui.Display, хотя это вполне возможно. Просто пишешь вверху строчку import javax.microedition.lcdui.Display, чтобы компилятор знал, откуда брать класс, и в твоей программе все точно так же.
А как репаинт работает? Я так понимаю репаинт возращает управление потоку еще до того как был вызван паинт? Странно, как-то. Из-за этого навесна и нужен сервисрепаинт.
DDDEN!SSS, seclub.org/forum/goto/7621115/ - а что это-то? NetBeans пишет, в чем именно заключается ошибка. seclub.org/forum/goto/7625738/ - а что тут странного, просто сама отрисовка вызывается в потоке твоей программы, а в тех потоках Java-машины, которые отвечают за изображение на экране. Вызвов serviceRepaints() - просто команда подождать окончания отрисовки в других потоках.
Malcolm, ctrl+m не чего не даёт. Я их просто перетащил и нетбинс создал импорты на мою папку, вот upwap.ru/413837. Хотя компилируется без папки. У меня был класс Matrix в котором были переменные не private и не public, всё работало. Но когда я этот класс перетащил в папку, нетбинс начал ругаться на эти переменные. Почему так?
DDDEN!SSS, ну как, есть 4 типа модификатора доступа. Три из них - private, protected и public обозначаются отдельно, если ничего не написано, как, насколько я понял, в твоем случае, то применяется модификатор package private. Он работает как public в пределах одного пакета. Так что ничего удивительного, что в других пакетах эти переменные недоступны. Если хочешь сделать их доступными, то варианты такие: либо делай их public, либо делай методы get/set, либо не разноси классы в разные пакеты. Первый метод не рекомендую, а остальные - на твой выбор.
Почему public не рекомендуеш? Также мыслили и создатели м3г. А теперь без методов get и set не подобраться к элементом матрици:-(. А это очень плохо. Я уже пытался и наследовать от м3г матрици, но всё равно не доступны.
DDDEN!SSS, а какой смысл писать все доступным всем? Даже если программируешь в одиночку, все равно это снижает риск изменить значение переменной не там, где надо, а уж про написание программы в команде и не говорю. Методы get/set - это паттерн, который используется практически везде, и тебе к этому стоит привыкнуть. Разработчики M3G тут не при чем, они делали то, что делают все.
1 мая 2009 в 18:54
Сейчас Mophun - это действительно мертвец: нет ни новых телефонов, ни приложений. У других фирм как раз именно либо уже есть Symbian или аналогичная ОС, либо им влом что-то серьезно делать, потому Java у них и такая парщивая.
Кстати, на A200 у SE, насколько я знаю, родные программы уже написаны на Java, к слову говоря.