Я создаю Java-апплет из крупномасштабного уже существующего проекта (Vizster). Я использую NetBeans 6.7.1 с JDK 1.5 на Mac OS X.
Я пытаюсь запустить апплет из его единственного выходного файла .jar, но когда я делаю это, он говорит «апплет загружен» в нижней части экрана в Firefox, и в консоли java ничего нет, но ничего не показывает в окне для апплета. До этого у меня были разные ошибки в Firefox, в том числе такие, как «appletNotLoaded: ClassDefNotFoundError», а также ошибки безопасности, но в моей java-консоли никогда не было выходных данных. Вот HTML-файл для апплета:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<applet codebase ="." code="zuve.ZuveApplet.class"
archive="ZuveApplet.jar"
height="1000" width="1000"/>
</body>
</html>
Где zuve.ZuveApplet.class - это место, где находится мой основной метод, а "ZuveApplet.jar" - это имя выходного файла jar. Вот ZuveApplet.java, класс основного метода:
package zuve;
import vizster.Vizster;
import vizster.VizsterLib;
import java.applet.Applet;
public class ZuveApplet extends Applet {
public static final String DEFAULT_START_UID = "186297";
@Override
public void init() {
new Vizster();
}
public static void main(String[] argv) {
VizsterLib.setLookAndFeel();
//String startUID = argv.length > 0 ? argv[0] : DEFAULT_START_UID;
String startUID = DEFAULT_START_UID;
String file = argv.length > 0 ? argv[0] : null;
new Vizster(startUID, file);
}
}
Апплет прекрасно работает как автономный (не встроенный в html), но мне нужно его встроить. Объект "Vizster" является расширением JFrame, поэтому я решил, что я просто смогу создать его экземпляр и добавить его в апплет. Это может быть намного сложнее, чем это?
К сожалению, я новичок в Java и апплетах в целом. Я видел много постов на форуме о структуре дерева исходных текстов, поэтому:
1) проблема в том, что я использую несколько пакетов? Все они находятся в каталоге src моего проекта.
2) что-нибудь, что мне нужно разместить в моем домашнем каталоге java? Я знаю, что у многих людей есть проблемы с classpath, но я использую современную IDE, которая, как я думал, позаботилась обо всем этом для меня.
3) при импорте моего проекта в проект веб-приложения Java NetBeans, должен ли я добавить апплет в проект в виде .jar или добавить весь проект?
4) Первоначально, когда я создавал этот апплет, у меня были только несколько моих исходных файлов и несколько библиотек .jar в качестве зависимостей, но когда я проверял выходной файл .jar, все, что я видел, это скомпилированные исходные файлы. Там не было никаких следов файлов из библиотек. Это так и должно быть? Я заметил, что если бы я переместил выходной файл .jar из папки, в которой он находился, он больше не мог работать автономно. Я думал, что .jars должны быть самодостаточными, не правда ли? Что мне нужно знать о создании исполняемого файла jar?
5) на заметку о том, должен ли размер апплета, обозначенный в тегах апплета в html, точно соответствовать размеру самого апплета?
Извините за огромный пост и невероятно неопределенную проблему, я работаю с командой, в которой никто ничего не знает о апплетах или Java (я знаю, что это действительно здорово). Любая помощь или общие предложения действительно помогут.
Спасибо!