2013-04-04 1 views
0


Я создаю игру, и я пытаюсь создать кнопку «Новая игра».
В игре у меня есть поток, который задерживает движение компьютера, поэтому я вижу его шаг за шагом, используя thread.sleep.
Моя проблема в том, что я не могу создать новую игру, пока эта нить не закончится.
Если я вручную остановил его, я получу InterruptedException.
Что я могу сделать для этого?

Невозможно создать новую игру до тех пор, пока не прекратится резьба

Моя игра размещена на JPanel, которая размещена на JFrame.
Я утверждал, что если я выложу JFrame и создаю новый, он уничтожит JPanel и все содержимое и создаст новый. но он тоже не работает.

Любые предложения?
Thanks in advanced,
Ron.

+0

__DO НЕ ЗВОНИТЕ 'Thread.stop()' __ она массивно устарела и может вызвать противоречивые объекты. Прочитайте [здесь] (http://docs.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html). – Mordechai

ответ

0

Для остановки тему см: https://stackoverflow.com/a/8581317/1178781

InterruptedException отбрасывается, если вы остановите поток, пока он спит. Просто заверните вызов сна в try ... catch (при этом catch ничего не делает), если вы не хотите обрабатывать это исключение.

Смотрите Java API: http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.html#sleep(long)

Также см: How to programmatically close a JFrame

+0

Ну, вы не можете называть его без него. – Mordechai

+0

Он мог бы добавить инструкцию 'throws' для метода, заставляя его не окружать в попытке ... catch – justderb

+0

Это завернуто, но все в порядке что я получаю это исключение?
Это не вызовет никаких проблем позже? – Ron537

Смежные вопросы