Java-апплет - несколько файлов .class - PullRequest
0 голосов
/ 31 декабря 2011


У меня раздражающая проблема с Java-апплетом.

В основном я сделал Java-апплет, который отлично работает. После завершения я хотел вставить его в HTML-файл, и именно здесь началась моя проблема.

Когда я скомпилировал апплет, я увидел еще 7 .class-файлов, кроме моего основного .class-файла (Game $ 1.class, Game $ 2.class, Game $ 3.class, ..., Game $ 7.class, Game. класс)

Я пытался игнорировать остальные файлы .class и встраивать только Game.class в html, но это не сработало. Когда я попытался запустить апплет, он просто показал пустую HTML-страницу.

Я попробовал тот же HTML-код с простым апплетом "Hello world", и он сработал, поэтому я предполагаю, что HTML-файл правильный

Мой HTML-файл находится в папке bin, как и весь пакет Java.

Может кто-нибудь помочь мне с этой проблемой?

Ответы [ 4 ]

3 голосов
/ 31 декабря 2011

Это ваши анонимные внутренние классы в скомпилированном виде.Вы не можете оставить их вне пакета, ваш апплет не будет работать без них.

2 голосов
/ 31 декабря 2011

Как уже упоминалось другими, дополнительные классы происходят из-за анонимных внутренних классов, которые находятся в коде.Они должны быть на пути к классам приложения.для правильной работы.

Существует несколько способов решения этой проблемы.Вот 2:

  1. Поместите все анонимные внутренние классы в то же место bin, что и основной класс апплета.
  2. Поместите все классы в один файл Jar, поместите файл Jarв bin dir., упомяните это в атрибуте archive апплета.

Кстати: почему вообще это апплет?Что обертка браузера приносит апплету (помимо проблем)?Если «ничего», лучше запустить апплет с помощью Java Web Start .

1 голос
/ 31 декабря 2011

Ваша проблема только в том, что в вашем теге <applet> вы указываете URL-адрес файла .class напрямую, а не используете файл .jar?

В этом случае, возможно, вам следует прочитать Урок: Упаковка программ в файлы JAR из Учебников по Java.

1 голос
/ 31 декабря 2011

Ну, вид названий классов, которые вы дали, кажется, у вас есть некоторые внутренние классы в вашем классе. Можете ли вы опубликовать код для Game.java для лучшего понимания.

...