20.11.2011 / 11:45 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Chez, слэш в начале запили
__________________
let live |
20.11.2011 / 11:55 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| public class Main extends MIDlet{
Display display=Display.getDisplay(this);
Menu menu=new Menu();
...
public void menuAction(Menu menu, String result){
if(result.equals("exit")) destroyApp(true);
Form f=new Form(null);
f.append(result);
display.setCurrent(f);
Thread.sleep(1000);
display.setCurrent(menu);
}
public void startApp(){
display.setCurrent(menu);
menu.setMenuListener(this);
}
public void destroyApp(){
notifyDestroyed();
}
...
}
... public class Menu extends Canvas{
Main main;
...
public void paint(Graphics g) {
...
}
public void setMenuListener(Main main){
this.main=main;
}
public void menuReturn(String ret){
main.menuAction(this,ret);
}
}
вот примерный код. при вызове метода menuReturn с параметром exit, просто ждет 1с и продолжает отображаться Menu, а должно выйти, при вызове с другими параметрами форма не отображается, а просто ждет 1с и продолжает отображатся Menu. И еще вопрос: я метод setMenuListener вызываю не только с Main, как сделать чтоб он принимал не только объект Main, а и все объекты классов? Пробовал setMenuListener(Object obj), но тогда при вызове obj.menuAction(this, stroka) пишет что menuAction не существует... Изменено Naik (20.11 / 11:57) (всего 1 раз) |
20.11.2011 / 12:54 | |
Chez Пользователь Сейчас: Offline
Имя: Павел Регистрация: 30.01.2020
| aNNiMON, Слеш есть, вот код: try {
is = getClass().getResourceAsStream("/snd.mid");
player = Manager.createPlayer(is, "audio/midi");
player.realize();
volumeControl = (VolumeControl) player.getControl("VolumeControl");
volumeControl.setLevel(100);
player.prefetch();
player.addPlayerListener(this);
player.start();
} catch (Exception exception) {}
|
20.11.2011 / 17:10 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, public void destroyApp(boolean ololo). Ну или if(result.equals("exit")) notifyDestroyed(); По поводу второго вопроса - юзай интерфейсы. public interface MenuListener {
public abstract void menuAction(Menu menu, String result);
}
А затем добавляешь в нужный класс implements MenuListener: public class Main extends MIDlet implements MenuListener и реализацию метода menuAction для того класса. __________________
let live Изменено aNNiMON (20.11 / 17:11) (всего 2 раза) |
20.11.2011 / 17:14 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Chez, так этот код не работает, или код с wav? Или и тот и другой?
__________________
let live |
20.11.2011 / 17:42 | |
Chez Пользователь Сейчас: Offline
Имя: Павел Регистрация: 30.01.2020
| aNNiMON, Я просто думал, что дело в МИМЕ типе, вот и поменял, но хоть wav, хоть mid или mp3, всё равно не работает.
|
20.11.2011 / 19:55 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| aNNiMON, Что-то я интерфейс не пойму как использовать. Ну допустим я реализовал абстрактный метод, но как его вызвать из другого класса? Нужна же все равно ссылка... А нужно вызывать из класса Menu этот абстрактный метод в разных классах... Если не сложно дайте пример
|
20.11.2011 / 20:03 | |
ScRoLiS Пользователь Сейчас: Offline
Регистрация: 28.06.2010
| Naik, Сию Минуту __________________
Чпок... Добрый вечер! |
20.11.2011 / 20:16 | |
ScRoLiS Пользователь Сейчас: Offline
Регистрация: 28.06.2010
| Naik, Вот __________________
Чпок... Добрый вечер!
Прикрепленные файлы: Interface.zip (27.21 кб.) Скачано 49 раз |
20.11.2011 / 21:01 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| ScRoLiS, Спасибо! но я не понял что это значит?: MyMegaInterface m; ... m=new MyMegaClass(); Вобщем вот код. Нужно сделать чтоб метод menuReturn возвращал результат не только в класс Main, а в любой класс переданный методом setMenuListener Изменено Naik (20.11 / 21:02) (всего 1 раз)
Прикрепленные файлы: Main.java (1.46 кб.) Скачано 571 раз Menu.java (4.78 кб.) Скачано 457 раз |