Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Ламерский вопрос. |
Автор: flamer 1.5.2002, 12:30 | ||
Я совсем недавно начал программировать на JAVA и у меня пока нет никакой реально сколько-нибудь стоящей литературы для его изучения. Попробовал написать апплет:
При его проверке, JBuilder выдает сообщение, про строку "graph.wait();": "JavaTest.java": Error #: 360 : unreported exception: java.lang.InterruptedException; must be caught or declared to be thrown at line 15, column 9 Что надо сделать, чтобы все работало правильно и почему оно не работает?Заранее спасибо. |
Автор: BearBeer 2.5.2002, 12:58 |
Ну просчения просить не надо ![]() Каждый из нас в чем-то ламер, для етого и собрались - делиться опытом. ![]() Теперь о деле. Во-первых, каждый апплет должен имплементировать один из методов: init, start и paint Во-вторых, точно не помню (сорьки, сейчас абсолютно нет времени проверить - много работы, возможно вечером отвечу подробнее) - скорее всего обьект выбрасывает исключение, которое должно быть захвачено в структуpy: try { <kod> } catch (<NameOfException> exception) { <kod obrabotki iskluchenija> } если ты есче новичек в программировании, и тебе ето слегка непонятно - напиши, постараюсь вечером расписать подробней ![]() А все-таки приятно, что у нас все больше людей интересуются Джава! ![]() |
Автор: flamer 2.5.2002, 19:09 | ||||
Все компилится, но нифига не делает вообще, только внизу в самом билдере ругается:
И что вообще означает throw, catch, try и т.п.? |
Автор: flamer 2.5.2002, 19:10 |
Ой, ошибся: graph.wait(10); |
Автор: BearBeer 2.5.2002, 21:11 |
О! с этого и начнем. Только я это сделаю попозже - сейчас ненадолго заглянул. Образно - если под боком книга по какому-нибудь языку программирования, это описано в разделе "обработка исключений". Удачи! Если нужны комменты - дам попозже. Если зайду сюда и еще ниче не будет (комментов) - дам краткую лекцию по исключениям. // да. и удобней будет - если зарегишся, на форуме. на мыло сразу ответы будут ходить ![]() |
Автор: flamer 3.5.2002, 08:49 |
Зарегился. ![]() Книг нет вообще, но по отрывочным сведениям из инета понял, что wait допустила какую-то ошибку, которую catch(InterruptedException exception){} и обработала, но не исправила и закончила выполнение проги. Обращаю внимание: Комментов нет ![]() |
Автор: BearBeer 3.5.2002, 11:26 |
Ну вот ты стал на верный путь к джава программированию ![]() Половил исклучения. все правильно. Ета функция выкидавает исклучение, которое надо обработать (ето делает операто траж-кетч). Сильно извиняюсь, что есче ничего не написал - загруз на работе. Чут выколупаюсь отсюда - расскажу про исклучения в Джаве подробно. Но основной смысл ты вижу понял - поздравляю ![]() |
Автор: BearBeer 3.5.2002, 11:29 |
да, а исправлять там ничего и не надо было. Просто ета функция по документации при своем вызове вызывает исклучение. Зачем ето надо уже в предопределении - расскажу позже. Но ето не ошибка, а ее нормальная работа. И если ее обработать (да хотяб как ты и сделал) - то уже компилятор ошибки не выдаст. Не будет и ошибки при работе проги, только если не возникнет исключительная ситуация, для которой стоило над обработчиком посидеть. ![]() |
Автор: flamer 3.5.2002, 14:06 | ||||
Дык почему тогда graph.drawLine(0,0,a,20); не воркает? ![]() Значит исключит. ситуация уже возникла?Более того, я написал:
Так она вообще ничего внизу не пишет, но, опять же, ничего и не работает. ![]() |
Автор: flamer 3.5.2002, 14:26 | ||
Блин, что со мной, ерунду всякую пишу. ![]()
|
Автор: BearBeer 3.5.2002, 15:50 | ||
![]() Так просто та функция, которя "не воркает" (я ее не пишу, так как с работы только транслитом могу ![]() У тебя с Инетом все Ок? И с англижским? Если да сежчас пороюсь нажду их описания. если нет - скажи, я добавлю в "курс лекций" ![]() |
Автор: BearBeer 3.5.2002, 15:54 |
а насчет не работает - посмотри тему "Getting started". Там "курс молодого бойца" по апплетам ![]() Если та фигня заработает - будем тебя править ![]() // я просто до сих пор не имею возможности проверить твой апплет - сюда одним глазом раз в 2 часа могу заглянуть... |
Автор: flamer 3.5.2002, 16:30 | ||||
И что с того? С инглишем у меня все в полном порядке, так что можешь throw ОписаниеФункции; ![]()
Та фигня заработала, она не могла не заработать ![]() ![]() |
Автор: BearBeer 3.5.2002, 16:38 |
а! понял, тебе делай нужен? Ок. Дома посмотрю - отлажу. === tol'ko: <funktion> throws <exception> i obichno v Java "function" == "method" - eto ja k neimenovaniju pridirajus' ![]() |
Автор: flamer 3.5.2002, 16:46 |
Слушай, а что extends Object означает? |
Автор: BearBeer 3.5.2002, 16:49 |
наследование. то есть применяя данное ключевое слово, ты указиваеш, что новыж класс наследует все свойства указанного после слова. Класс Обэцт - самый верхний в иерархии классов в Джава. если что непонажтно - обьясню подробней |
Автор: flamer 3.5.2002, 17:09 |
Понятно... Я сейчас Color ломаю, вот смотри: Есть некий setColor(Color);, который устанавливает цвет рисования. setColor(Color.white);работает. Есть также (конструктор?) Color(int r, int g, int b), который этот самый колор ставит.Как с помощью Color(int r, int g, int b) создать цвет, чтобы впоследствии впихнуть его в сетколор? |
Автор: BearBeer 3.5.2002, 17:28 |
стоп-стоп. "Некий"? ![]() ![]() какой? java.awt.color? method kakogo klassa? Ili eto tvoj method? |
Автор: BearBeer 3.5.2002, 17:34 |
насколько я понял по похожим конструкторам цветов, что нашел в стандартных пакетах - ети числа относятся с параметрами RGB цветности монитора. То есть: обявляеш обэкт данного класса (называеш как хочеш), в конструкторе задавая цветность. А потом етот обьект должен использоваться как цвет. Наверняка в графическому обьекту, какож ты рисуеш, можно передать цвет как обьект того класса, которым ты его определяеш. // прочитал - замутил круто ![]() |
Автор: flamer 3.5.2002, 17:34 |
java.awt.Color - обьект и setColor(Color) - метод объекта java.awt.Graphics |
Автор: flamer 3.5.2002, 17:37 | ||
А как энтот объект обьявить? public void paint(Graphics g,Color(111,111,111) col) - не получается |
Автор: flamer 4.5.2002, 08:13 |
Ураа! ![]() Кажись у меня получилось - вместо Object.wait(10) - Thread.currentThread().sleep(10000); , а setColor(new Color(111,111,111)); BearBeer, если Thread это выполняемая нить (слова для меня не очень понятные), значит одновременно может выполняться несколько методов? |
Автор: BearBeer 4.5.2002, 11:12 |
по-русски - это поток. да. может выполняться. |
Автор: flamer 4.5.2002, 18:39 |
Спасибо за помощь! ![]() |
Автор: BearBeer 5.5.2002, 21:19 |
не за что ![]() код покажи, пока я дома - может чего подправим? ![]() |
Автор: flamer 6.5.2002, 15:27 |
А кода нет, я ничего конкретного не делаю, просто обучаюсь. P.S.А что тогда wait делает, если не как delay работает? ![]() |
Автор: Barson 15.11.2002, 00:37 |
Method wait() rabotaet tolko vnutry blocka "synchronize" or v methode "synchronize". Eto svyazano s zashitoy methoda objecta ot dostupa is drugogo "thread"a. |
Автор: desyatnik 17.11.2002, 02:51 |
Потрясный тред... Ребят, а вы не слышали, что учебники изобрели? И даже (!) кое-что есть в Сети... Более того (держитесь за насесты, цыплятки ![]() |
Автор: PLAKAT 18.11.2002, 21:13 |
НЕ ЗНАЮ ЧТО Т XОЧЕШ. если тебя надо что бы программа ето делала, не сразу моэт так будет. ..... ..... class JavaTest extends Applet { .... .... public void paint(Graphics grap) { int i=0; try{ this.sleep(100); }catch(InterruptedException intex) { this.drawString(10,10,"Inter Exept"); } for(i=0;i<45;i++) { this.drawLine(...); repaint();(eto mojno poprobovat) } } } |