Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > проблема преобразования из аплета в приложение


Автор: ek78 6.3.2005, 00:57
Написал игруху в виде аплета, долго мучался и разбирался, как это делается. Теперь оказалось, что надо было сделать в виде приложения, и начались проблемы.

Было:
Код

public class StarWars extends Applet implements KeyListener, Runnable


Стало:
Код

public class StarWars extends Frame implements KeyListener, Runnable


При запуске имею:

Exception occurred during event dispatching:
java.lang.NullPointerException
at sun.awt.windows.WGraphics.drawImage(WGraphics.java:272)
at StarWars.paint(StarWars.java:1744)
at sun.awt.windows.WComponentPeer.handleEvent(Compiled Code)
at java.awt.Component.dispatchEventImpl(Compiled Code)
at java.awt.Container.dispatchEventImpl(Compiled Code)
at java.awt.Window.dispatchEventImpl(Compiled Code)
at java.awt.Component.dispatchEvent(Compiled Code)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Код

 public void paint(Graphics graph) {
  graph.drawImage(image,0,0,this);
 }


Этот вот и вылетает... Хотя image в конструкторе должен инициализироваться, этого явно не происходит.

Вопросы.

1. Можно ли вообще использовать Frame для моего случая (динамическая игра, графика)? Что можно (нужно) использовать вместо него? JFrame не подходит, как и прочие swing. Надо через awt. Возможно ли?

2. Кто такой ImageObserver и зачем он нужен в drawImage? Кто может им быть? Как я понял, Frame не может... Так?

3. Вообще подскажите или бросьте примером исходника графического приложения, которое рисует что-нибудь, управляемое курсором. Может, я вообще не тот подход применяю?


Автор: Domestic Cat 6.3.2005, 01:17
Цитата
Этот вот и вылетает... Хотя image в конструкторе должен инициализироваться, этого явно не происходит.

Цитата
2. Кто такой ImageObserver и зачем он нужен в drawImage? Кто может им быть? Как я понял, Frame не может... Так?


http://forum.vingrad.ru/index.php?showtopic=41246

Цитата
1. Можно ли вообще использовать Frame для моего случая (динамическая игра, графика)? Что можно (нужно) использовать вместо него? JFrame не подходит, как и прочие swing. Надо через awt. Возможно ли?


Нежелательно. Не понимаю, зачем нужно ограничение на авт для декстоп приложения? Неужто кто-то до сих пор пользует 1.1? Даже если для етого нужно выкинуть 99% кода - все равно я б переписал на свинге.

Цитата

3. Вообще подскажите или бросьте примером исходника графического приложения, которое рисует что-нибудь, управляемое курсором. Может, я вообще не тот подход применяю?

http://forum.vingrad.ru/index.php?showforum=83

Автор: AntonSaburov 9.3.2005, 13:03
Да и вообще,кто мешает сам аплет положить на форму - достаточно давно даже пример делал на форуме как это сделать.
Можно посмотреть тему http://forum.vingrad.ru/index.php?showtopic=16095

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)