Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Applet - ClassNotFoundException


Автор: Avtarkia 29.6.2009, 16:19
Мне очень стыдно, но я не могу запустить апплет, хотя год назад получалось.  Правда, сменился комп, да и ось другая теперь.
Смотрела http://www.roseindia.net/eclipse/applet-eclipse.shtml и прочитала, кажется, всё по этой теме на винграде. Код даже чужой взяла, чтобы не было ошибок. Запускаю Run as -> Java Applet
Может нужно какие-то параметры указать в проекте? smile 
Eclipse упорно пишет:
load: class simpleApplets.DrawLinesApplet.class not found.
java.lang.ClassNotFoundException: simpleApplets.DrawLinesApplet.class
    at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:194)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:640)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:785)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:714)
    at sun.applet.AppletPanel.run(AppletPanel.java:368)
    at java.lang.Thread.run(Thread.java:619)
Код:
Код

package simpleApplets;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JApplet;

public class DrawLinesApplet extends JApplet 
{
    int width, height;
       int N = 25;          // the number of colors created
       Color[] spectrum;    // an array of elements, each of type Color
       Color[] spectrum2;   // another array

       public void init() {
          width = getSize().width;
          height = getSize().height;
          setBackground( Color.black );

          // Allocate the arrays; make them "N" elements long
          spectrum = new Color[ N ];
          spectrum2 = new Color[ N ];

          // Generate the colors and store them in the arrays.
          for ( int i = 1; i <= N; ++i ) {
             // The three numbers passed to the Color() constructor
             // are RGB components in the range [0,1].
             // The casting to (float) is done so that the divisions will be
             // done with floating point numbers, yielding fractional quotients.

             // As i goes from 1 to N, this color goes from almost black to white.
             spectrum[ i-1 ] = new Color( i/(float)N, i/(float)N, i/(float)N );

             // As i goes from 1 to N, this color goes from almost pure green to pure red.
             spectrum2[ i-1 ] = new Color( i/(float)N, (N-i)/(float)N, 0 );
          }
       }

       public void paint( Graphics g ) {

          super.paint(g);
          int step = 90 / N;
          for ( int i = 0; i < N; ++i ) {
             g.setColor( spectrum[ i ] );
             g.fillArc( 0, 0, 2*width, 2*height, 90+i*step, step+1 );

             g.setColor( spectrum2[ i ] );
             g.fillArc( width/3, height/3, 4*width/3, 4*height/3, 90+i*step, step+1 );
          }
       }


}


Вот html:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Drawing Ovals</title>
    </head>
    <body>
        <applet code="simpleApplets.DrawLinesApplet" width="500" height="600">
        </applet>
    </body>
</html>


Автор: korob2001 1.7.2009, 12:13
Вы наверное положили файл .class и .html в один и тот же каталог? Если да, то вам нужно файл .class положить в каталог simpleApplets, вобщем должна быть примерно такая структура:
Код

/
 |
 |_test.html
 |
 |_/simpleApplets
    |
    |_DrawLinesApplet.clas

Если же у вас так и есть, тогда скорее всего проблема в CLASSPATH, нужно указать, что бы текущий каталог тоже использовался для поиска. В переменную окружения CLASSPATH нужно добавить два символа: ;.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)