| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > NoClassDefFoundError при запуске апплета |
| Автор: svv 16.9.2002, 21:44 |
| Есть демо апплет, вот его полный текст // пример аффинных преобразований import java.awt.*; import java.awt.geom.*; import java.applet.*; import javax.swing.*; public class TestRotation extends JApplet{ public void init(){ RotationPanel rotationPanel=new RotationPanel(); getContentPane().add(rotationPanel,BorderLayout.CENTER); } } class RotationPanel extends JPanel{ public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2=(Graphics2D) g; g2.setColor(Color.blue); Font font=new Font("Serif",Font.BOLD,30); g2.setFont(font); String msg="Hello, Alice"; // прямая надпись g2.drawString(msg,50,50); AffineTransform at=new AffineTransform(); at.translate(70.0,70.0); // смещение начала координат, чтобы надписи не пересекались at.concatenate(AffineTransform.getRotateInstance(Math.toRadians(45))); // поворот на 45 по часовой стрелке g2.setTransform(at); g2.drawString(msg,0,0); // еще смещение начала координат, чтобы надписи не пересекались at.translate(-70.0,0.0); // поворот на 45 по часовой стрелке отн. предыдущего поворота at.rotate(Math.toRadians(45)); g2.setTransform(at); g2.drawString(msg,0,0); } } Компилится без ошибок в файл TestRotation.class При попытке запустить из IE 6.0 выдается ошибка ava.lang.NoClassDefFoundError: RotationPanel at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Может кто-нибудь знает, в чем здесь дело? |
| Автор: Sun 16.9.2002, 21:54 |
| У тебя на машине не прописан CLASSPATH. Поэтому Java и ругается. Влючи в CLASSPATH все пакеты и классы которые ты используешь и все должно заработать. |
| Автор: svv 17.9.2002, 03:14 | ||
CLASSPATH влияет на компиляцию, а в моем случае классы я не обратил внимания на то, что классы скомпилировались в отдельные файлы. Нужно было просто дописать RotationPanel.class в тот же каталог, что и html. После этого все заработало. |
| Автор: AntonSaburov 28.10.2002, 21:23 |
| Так тебе это и говорили - CLASSPATH должен был ссылаться на каталог с недостающим классов. Ты его просто скопировал в текущий каталог, откуда они беруться по умолчанию. Ничего удивительного. |