Я пытаюсь развернуть Java-апплет. Когда я запускаю его в средстве просмотра апплетов Eclipse, он загружается нормально (хотя он не отвечает на команды клавиатуры - это вопрос для более позднего). После того, как экспортировать ее в баночку и пытается запустить его в браузере, он всегда дает NullPointerException на этой линии в одном из классов:Как загрузить изображение с помощью getResources() в Java JApplet?
private static final ImageIcon NULL_IMAGE = new ImageIcon((new Object()).getClass().getResource("/tiles/blank.png"));
Я попытался перемещения первого использования этого класса от Init() к start() без изменений. Запуск «jar -tf applettest.jar» в окне терминала подтверждает, что /tiles/blank.png действительно существует в JAR. Так что я мог пропустить при экспорте этого JAR? Должен ли я просто забыть о версии апплета и использовать JNLP?
* «Должен ли я просто забыть о версии апплета и использовать JNLP?» * - Это было бы хорошей идеей, но могло бы не решить проблему. Что касается апплета, не отвечающего на нажатия клавиш, это обычная проблема с 'KeyListener', которая была решена с помощью [Key Bindings API] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding. html) – MadProgrammer
Вы пытались использовать 'new ImageIcon (YourClass.class.getResource ("/tiles/blank.png "));'? – MadProgrammer
Использование TheClass.class, похоже, устраняет проблему с изображением ... или, по крайней мере, дает мне другую ошибку, на этот раз говоря, что не может подключиться к серверной БД. Что касается ключевой проблемы, я использую привязки клавиш, а не KeyListeners. Я должен отметить, что существует отдельная версия, которая не имеет ни одной проблемы, по крайней мере, при запуске из Eclipse. Думаю, я попытаюсь использовать его с JNLP. – Leonide