Редактировать 2: Я создал html в корневом каталоге и поместил файл jar в одно и то же место, после чего я смог запустить апплет (хотя у меня были некоторые проблемы с самозаверяющей безопасностью). Это говорит о том, что проблема связана с кодом апплета. Любые идеи, почему он не найдет класс, если, если я смогу удалить атрибут codebase, он работает правильно?Развертывание JApplet: ClassNotFoundException
Редактировать 1: Я обновил точку входа, чтобы удалить фрейм. Я также тестировал апплет HelloWorld и по-прежнему получал ту же ошибку.
Я довольно новичок в Java, поэтому я попытаюсь объяснить свою проблему так четко, как могу, и с большим количеством деталей. Если я пропущу что-нибудь, пожалуйста, дайте мне знать. Я также знаю, что здесь часто задают эту проблему, я провел справедливое исследование и нашел противоречивые ответы и ничего не сработало.
Я разработал JApplet в eclipse, экспортировал файл jar для проекта и пытаюсь развернуть его на своем веб-сайте. Однако, когда я пытаюсь просмотреть аплет онлайн, я получаю ошибку: ClassNotFoundException. Вероятно, также стоит упомянуть, что я пытаюсь развернуть этот JApplet через Wordpress.
Вот HTML код, я использую для развертывания:
<applet code = 'gui.ConverterGUI.class'
codebase = 'http://www.myurl.co.uk/Java/'
archive = 'AConverter.jar'
width = 800
height = 600>
<param name="permissions" value="all-permissions" />
</applet>
Мой апплет имеет несколько пакетов и классов, которые я думаю, я настроил и экспортируются правильно, но упаковывают, что вызывает проблемы, здесь моя главная точка входа:
public class ConverterGUI extends JApplet {
// Current program ver.
public static final double VERSION = 0.0;
public void init() {
// Make it look nicer.
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {
e.printStackTrace();
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private void createAndShowGUI() {
System.out.println("Created GUI on EDT? "+
SwingUtilities.isEventDispatchThread());
//JFrame f = new JFrame("Converter GUI");
ResultDisplay resultDisplay = new ResultDisplay();
getContentPane().add(resultDisplay, BorderLayout.CENTER);
getContentPane().add(new InputFields(resultDisplay), BorderLayout.NORTH);
}
}
Это мой макет проекта.
Я экспортировал банку с помощью Eclipse, у меня сложилось впечатление, что это означает, что она уже правильно подписана, но если это не так, и это вызывает проблемы, я был бы признателен за то, правильное направление для этого (у меня есть затмение, настроенное с помощью JDK, а не JRE).
почему JApplet с JFrame, потому что расширяет JApplet Nnever будет виден, ни инициализирован – mKorbel
должно возиться с Официальным Oracle учебником о апплетах, для работы примеров кода – mKorbel
я думал, что JFrame будет добавлен в JApplet, упс. Есть ли легкое решение для этого, или я должен просто добавить другие компоненты непосредственно в апплет? – user124784