Hello World, Java-апплет, проблема - PullRequest
0 голосов
/ 03 октября 2010

У меня проблемы с апплетом HelloWorld.

Вот мой код Java:

package webCrawler.applet2;

import javax.swing.JApplet;
import java.awt.Graphics;

public class HappyFace extends JApplet
{
    public void paint (Graphics canvas)
    {
        canvas.drawOval(100,50,200,200);
        canvas.fillOval(155,100,10,20);
        canvas.fillOval(230,100,10,20);
        canvas.drawArc(150,160,100,50,0,180);
    }
}

Вот мой index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
    <head>
    </head>
    <body bgcolor="000000">
        <center>
            <applet
                code    = "HappyFace.class"
                width   = "500"
                height  = "300"
                >
            </applet>
        </center>
    </body>
</html>

В Eclipse, если я иду: Run -> Run, это работает, однако если я делаю это:

% pwd
/Users/me/Documents/workspace/WebCentric/bin/webCrawler/applet2
% ls
HappyFace.class         index.html
% open index.html 

Открывает HTML-страницу в Firefox, но приложение не работает:

app not working

Обновление:

Как и Пабло Санта Круз предложил I:

  • Изменено местоположение index.html
  • Изменен index.html на code = "webCrawler.applet2.HappyFace"

Это исключение в консоли.

java.lang.UnsupportedClassVersionError: webCrawler/applet2/HappyFace (Unsupported major.minor version 49.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:213)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:151)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:680)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:635)
    at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1991)
    at jep.AppletFramePanel.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:564)
    at sun.applet.AppletPanel.run(AppletPanel.java:301)
    at jep.AppletFramePanel.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:552)

1 Ответ

2 голосов
/ 03 октября 2010

В вашем атрибуте code в теге applet вы должны использовать FQN класса: webCrawler.applet2.HappyFace (также удалить .class extension).

Также убедитесь, что у вас есть .class файл внутри соответствующей структуры каталога (пакета).В вашем случае файлы HTML должны быть в:

/Users/me/Documents/workspace/WebCentric/bin/

И только ваш файл HappyFace.class должен быть в:

/Users/me/Documents/workspace/WebCentric/bin/webCrawler/applet2

Кроме того, имейте в виду, что естьКонсоль Java в браузере (IE, Firefox, Chrome, Safari), на которую вы можете взглянуть, чтобы увидеть, какую ошибку вы получаете при выполнении апплета.

ОБНОВЛЕНИЕ:

Ваше исключение говоритчто вы скомпилировали свой код с более новой версией Java, чем поддерживает JVM.То есть вы использовали Java 6 компилятор в Eclipse , но ваш плагин для браузера Java только Java 5 (ваш JRE только Java 5 ).

Я бы изменил настройки проекта в Eclipse, сказал бы ему использовать Java 5 совместимый компилятор (для этого есть опция), скомпилировал и развернул апплет снова.Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...