Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ламерский вопрос. Заранее прошу за него прощения. 
:(
    Опции темы
flamer
Дата 1.5.2002, 12:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я совсем недавно начал программировать на JAVA и у меня пока нет никакой реально сколько-нибудь стоящей литературы для его изучения.
Попробовал написать апплет:
Код

package some;
import java.awt.*;
import java.lang.InterruptedException;
public class JavaTest extends java.applet.Applet
{
public void Init() {}
public void paint(Graphics graph)
{
int a;
 for(a=0;a<45;a++)
 {
 graph.wait();
 graph.drawLine(0,0,a,20);
 }
}
}

При его проверке, 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 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



Ну просчения просить не надо :)
Каждый из нас в чем-то ламер, для етого и собрались - делиться опытом. :)

Теперь о деле.
Во-первых, каждый апплет должен имплементировать один из методов:
init, start и paint

Во-вторых, точно не помню (сорьки, сейчас абсолютно нет времени проверить - много работы, возможно вечером отвечу подробнее) - скорее всего обьект выбрасывает исключение, которое должно быть захвачено в структуpy:

try {
<kod>
}
catch (<NameOfException> exception)
{
<kod obrabotki iskluchenija>
}

если ты есче новичек в программировании, и тебе ето слегка непонятно - напиши, постараюсь вечером расписать подробней :))

А все-таки приятно, что у нас все больше людей интересуются Джава! :)
PM MAIL YIM   Вверх
flamer
Дата 2.5.2002, 19:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

package some;
import java.awt.*;
import java.lang.InterruptedException;
public class JavaTest extends java.applet.Applet
{
public void Init() {}
public void paint(Graphics graph)
{
try
{

int a;
 for(a=0;a<45;a++)
 {
 try{wait(10);}
 catch(InterruptedException exception){}
 graph.drawLine(0,0,a,20);
 }
}
}
}

Все компилится, но нифига не делает вообще, только  внизу в самом билдере ругается:
Цитата

Exception occurred during event dispatching:
java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at fire.JavaTest.paint(JavaTest.java:13)
at sun.awt.RepaintArea.paint(RepaintArea.java:298)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:199)
at java.awt.Component.dispatchEventImpl(Component.java:2665)
at java.awt.Container.dispatchEventImpl(Container.java:1216)
at java.awt.Component.dispatchEvent(Component.java:2499)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:336)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:134)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:96)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)
Exception occurred during event dispatching:
java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at fire.JavaTest.paint(JavaTest.java:13)
at sun.awt.RepaintArea.paint(RepaintArea.java:298)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:199)
at java.awt.Component.dispatchEventImpl(Component.java:2665)
at java.awt.Container.dispatchEventImpl(Container.java:1216)
at java.awt.Component.dispatchEvent(Component.java:2499)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:336)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:134)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:96)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)

И что вообще означает throw, catch, try и т.п.?
  Вверх
flamer
Дата 2.5.2002, 19:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ой, ошибся:
graph.wait(10);
  Вверх
BearBeer
Дата 2.5.2002, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



О!

с этого и начнем. Только я это сделаю попозже - сейчас ненадолго заглянул.
Образно - если под боком книга по какому-нибудь языку программирования, это описано в разделе "обработка исключений".

Удачи! Если нужны комменты - дам попозже. Если зайду сюда и еще ниче не будет (комментов) - дам краткую лекцию по исключениям.

// да. и удобней будет - если зарегишся, на форуме. на мыло сразу ответы будут ходить :)
PM MAIL YIM   Вверх
flamer
Дата 3.5.2002, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2002
Где: Москва

Репутация: нет
Всего: нет



Зарегился. :)
Книг нет вообще, но по отрывочным сведениям из инета понял, что wait допустила какую-то ошибку, которую
catch(InterruptedException exception){}
и обработала, но не исправила и закончила выполнение проги.

Обращаю внимание:
Комментов нет
:)
PM MAIL WWW   Вверх
BearBeer
Дата 3.5.2002, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



Ну вот ты стал на верный путь к джава программированию :)

Половил исклучения.

все правильно. Ета функция выкидавает исклучение, которое надо обработать (ето делает операто траж-кетч).

Сильно извиняюсь, что есче ничего не написал - загруз на работе. Чут выколупаюсь отсюда - расскажу про исклучения в Джаве подробно. Но основной смысл ты вижу понял - поздравляю :)
PM MAIL YIM   Вверх
BearBeer
Дата 3.5.2002, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



да, а исправлять там ничего и не надо было.

Просто ета функция по документации при своем вызове вызывает исклучение. Зачем ето надо уже в предопределении - расскажу позже. Но ето не ошибка, а ее нормальная работа. И если ее обработать (да хотяб как ты и сделал) - то уже компилятор ошибки не выдаст. Не будет и ошибки при работе проги, только если не возникнет исключительная ситуация, для которой стоило над обработчиком посидеть.

;)
PM MAIL YIM   Вверх
flamer
Дата 3.5.2002, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2002
Где: Москва

Репутация: нет
Всего: нет



Цитата
Не будет и ошибки при работе проги

Дык почему тогда graph.drawLine(0,0,a,20); не воркает? :huh
Значит исключит. ситуация уже возникла?Более того, я написал:
Код

package some;
import java.awt.*;
import java.lang.*;
public class JavaTest extends java.applet.Applet
{
public void Init() {}
Object das;
public void dizes(Object diz)
{
diz.wait(10);
}
public void paint(Graphics graph)
{
try
{

int a;
for(a=0;a<45;a++)
{
try{dizes(das);}
catch(InterruptedException exception){}
graph.drawLine(0,0,a,20);
}
}
}
}

Так она вообще ничего внизу не пишет, но, опять же, ничего и не работает. :lookaround
PM MAIL WWW   Вверх
flamer
Дата 3.5.2002, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2002
Где: Москва

Репутация: нет
Всего: нет



Блин, что со мной, ерунду всякую пишу. :angry:
Код

package some;
import java.awt.*;
import java.lang.*;
public class JavaTest extends java.applet.Applet
{
public void Init() {}
 public void dizes(Object diz)
 {
 try{diz.wait(10);}
 catch(InterruptedException exception){}
 }
public void paint(Graphics graph,Object das)
{
int a;
 for(a=0;a<45;a++)
 {
 dizes(das);
 graph.drawLine(0,0,a,20);
 }
}
}

PM MAIL WWW   Вверх
BearBeer
Дата 3.5.2002, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



Цитата
Блин, что со мной, ерунду всякую пишу.  


:)

Так просто та функция, которя "не воркает" (я ее не пишу, так как с работы только транслитом могу :( ), так вот она исключение не выкидывает. Так определена.

У тебя с Инетом все Ок? И с англижским? Если да сежчас пороюсь нажду их описания. если нет - скажи, я добавлю в "курс лекций" :)
PM MAIL YIM   Вверх
BearBeer
Дата 3.5.2002, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



а насчет не работает - посмотри тему "Getting started". Там "курс молодого бойца" по апплетам :)

Если та фигня заработает - будем тебя править :)

// я просто до сих пор не имею возможности проверить твой апплет - сюда одним глазом раз в 2 часа могу заглянуть...
PM MAIL YIM   Вверх
flamer
Дата 3.5.2002, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2002
Где: Москва

Репутация: нет
Всего: нет



Цитата
она исключение не выкидывает

И что с того?

С инглишем у меня все в полном порядке, так что можешь
throw ОписаниеФункции; :)

Цитата
Если та фигня заработает - будем тебя править

Та фигня заработала, она не могла не заработать :) , но вся феня в том, что если убрать этот wait (из моей фигни), то она пойдет рисовать как миленькая, а так - нивкакую.  ???
PM MAIL WWW   Вверх
BearBeer
Дата 3.5.2002, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Модератор
Сообщений: 902
Регистрация: 25.3.2002

Репутация: нет
Всего: 9



а! понял, тебе делай нужен?

Ок. Дома посмотрю - отлажу.
===

tol'ko: <funktion> throws <exception>

i obichno v Java "function" == "method" - eto ja k neimenovaniju pridirajus' :)
PM MAIL YIM   Вверх
flamer
Дата 3.5.2002, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.5.2002
Где: Москва

Репутация: нет
Всего: нет



Слушай, а что extends Object означает?
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0831 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.