Pavlus, нет, тут структура кода не при чем. Тут дело в потоках. Например, обычный случай: если у тебя в потоке цикл, который выполняется в зависимости от значения boolean-переменной, и эта переменная нигде в самом цикле не изменяется, компилятор может решить, что цикл вечный, и заменить проверку на true, потому что не знает, что переменная может быть изменена другим потоком. Вот чтобы такого не просиходило, и нужно слово volatile. cHeRsAnYa1, до версии языка 1.2 так проводили вычисления, и в некоторых случаях это серьезно влияет на результат (например, если что-то промежуточное округлится до бесконечности). Для обратной совместимости существует это слово. LPzhelud, это точно: seclub.org/forum/goto/10157072/. ksswolk, и тем не менее, при чем тут разработка Java? Тебе в тему Создание / Переделка / Перевод JAVA.
Скажите в чем причина, вот класс отображения изображения import javax.microedition.midlet.; import javax.microedition.lcdui.; public class Imageitem extends MIDlet implements CommandListener { // Команда выхода из приложения private Command exitMidlet = new Command("VIHOD", Command.EXIT, 1); // ОбЪект класса Form private Form myform = new Form("IZOBRAGENIE"); // ОбЪект mydisplay представляет экран телефона private Display mydisplay; public Imageitem() { mydisplay = Display.getDisplay(this); } public void startApp() { // перехватываем исключительную ситуацию try{ // загрузка изображения Image image = Image.createImage("/1.png "); // создаем обЪект класса ItemImage ImageItem im = new ImageItem("FOTKA", image, ImageItem.LAYOUT_CENTER,""); // добовляем изображение в форму ->
myform.append(im); } catch(java.io.IOException ex){ } // Установка обработчика событий для Form myform.addCommand(exitMidlet); myform.setCommandListener(this); // Отразить текущий дисплей mydisplay.setCurrent(myform); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable d) { // Выход из приложения if (c == exitMidlet) { destroyApp(false); notifyDestroyed(); } } } Но изображение не выводит.
Metaler, у меня была такая же проблема) Image.createImage("/1.png "); <- тут у тебя после .png стоит пробел, убери и все заработает) примеры из книги Горнакова?)
[Winner], угадал.вроде книга исправленая, а оказывается не совсем.вот ещё здесь import javax.microedition.lcdui.; import javax.microedition.midlet.; public class main extends MIDlet implements CommandListener { // команда выхода из программы private Command exitMidlet = new Command("Выход", Command.EXIT, 0); public void startApp() { // создаем объект класса Rectangles Rectangles myrec = new Rectangles(); // добавляем команду выхода myrec.addCommand(exitMidlet); myrec.setCommandListener(this); Display.getDisplay(this).setCurrent(myrec); } public void pauseApp() {} public void destroyApp(boolean unconditional){} public void commandAction(Command c, Displayable d) { if (c == exitMidlet) { destroyApp(false); notifyDestroyed(); } } } Компиль ругается на строку создания метода Rectangles
30 июн 2010 в 09:28