6.10.2011 / 19:52 | |
ScRoLiS Пользователь Сейчас: Offline
Регистрация: 28.06.2010
| 9Lives, Только скачивай NetBeans который само много весит __________________
Чпок... Добрый вечер! |
6.10.2011 / 20:41 | |
mrEDitor Пользователь Сейчас: Offline
Имя: Эдуард Откуда: Новороссийск » Таганрог Регистрация: 13.03.2011
| ScRoLiS, если у него нет нормальный, он может поставить модули Java ME прям из НетБинса |
6.10.2011 / 20:45 | |
ScRoLiS Пользователь Сейчас: Offline
Регистрация: 28.06.2010
| mrEDitor, Имхо лучше когда уже всё в сборке. Вдруг винда полетит, то придётся опять модули устанавливать. А так взял, установил, и юзай __________________
Чпок... Добрый вечер! |
9.10.2011 / 13:06 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Открыть спойлер Закрыть спойлер import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
public class datarms implements CommandListener {
SlideShow slide;
RecordStore rs;
ByteArrayOutputStream baos;
DataOutputStream dos;
ByteArrayInputStream bais;
DataInputStream dis;
private Command save, cancel;
private boolean quit;
/**
* constructor
*/
public datarms(SlideShow slide) {
this.slide=slide;
quit=false;
initrecord();
}
public void initrecord(){
try{
rs=RecordStore.openRecordStore("main", false);
}
catch(Exception e){}
//действия при первом запуске
if(rs==null){
//отображаем форму с главными настройками
slide.display.setCurrent(saving());
while(true){
if(quit){ break; }
}
//предустанавливаем некоторые параметры
try{
rs=RecordStore.openRecordStore("lessons", true);
}catch(Exception e){}
}
//Считываем настройки при каждом запуске здесь
}
public void commandAction(Command c,Displayable d){
quit=true;
if(c==save){
try{
rs=RecordStore.openRecordStore("main", true);
}catch(Exception e){}
}
}
public Form saving(){
Form form=new Form("Настройки");
form.setCommandListener(this);
save=new Command("Сохран.",Command.OK,1);
cancel=new Command("Отмена",Command.BACK,1);
form.addCommand(save);
form.addCommand(cancel);
DateField startlessons = new DateField("Начало занятий",DateField.TIME);
form.append(startlessons);
TextField lenlessons = new TextField("Длина занятия (мин.)", "80",3,TextField.NUMERIC);
form.append(lenlessons);
TextField numlessons = new TextField("Колл. занятий в день", "4",3,TextField.NUMERIC);
form.append(numlessons);
return form;
}
}
Обьект этого класса создается в начале другого класса и далее отображается канвас. Приложение не запускается-"вечная" загрузка. А если убрать while в классе datarms, то форма отображается 1с. и затем сразу канвас. Как сделать чтоб форма отображалась не 1с., а до вызова commandAction ? Изменено Naik (9.10 / 13:11) (всего 1 раз) |
9.10.2011 / 15:04 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, типичная ошибка. Вечные циклы нельзя писать в однопотоковых приложениях. Помести весь код после slide.display.setCurrent(saving ()); в commandAction.
__________________
let live |
9.10.2011 / 19:07 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| aNNiMON, И что это даст? Я создаю обьект класса datarms. При этом вызывается метод initrecord и отображается форма с настройками. commandAction ни разу не вызывается и выполнение возвращается к классу SlideShow. А мне надо отображать форму пока не выберешь какуюто команду, ждать вызова commandAction.
|
9.10.2011 / 19:37 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| А если цикл while поместить в thread то форма будет отображаться, но выполнение программы все равно продолжится в фоновом режиме. А можно както сделать трэд самым главным, чтоб только он выполнялся, до самой остановки?
|
9.10.2011 / 22:49 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik (09.10.2011/19:07)aNNiMON, И что это даст? Я создаю обьект класса datarms. При этом вызывается метод initrecord и отображается форма с настройками. commandAction ни разу не вызывается и выполнение возвращается к классТы сам же ответил на свой вопрос. А мне надо отображать форму пока не выберешь какуюто команду
__________________
let live |
10.10.2011 / 15:40 | |
mrEDitor Пользователь Сейчас: Offline
Имя: Эдуард Откуда: Новороссийск » Таганрог Регистрация: 13.03.2011
| while(true) {
if (quit) {
break;
}
}
Зачем делать проверку внутри цикла, если можно написать while (!quit)? |
10.10.2011 / 16:50 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| mrEDitor (10.10.2011/15:40) [code java]while(true) { if (quit) { break; }}Зачем делать проверку внутри цикла, если можно написать while (!quit)?Какая разница, я для примера написал. Что делает метод thread.join(); ? Что то я не нашел нормального описания.
|