2015-08-10 4 views
0

Я изучаю Java и читаю эту книгу: https://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&isbn=978-972-722-791-4.Java-апплет -> ClassNotFound Exception

В этой книге у меня есть Java-апплет. Я могу запустить его в Eclipse в appletviewer и хорошо работать. но мне сложно интегрировать апплет в HTML.

Вот мой Java код:

package packageteste; 

import java.applet.Applet; 
import java.awt.Color; 
import java.awt.Font; 
import java.awt.Graphics; 
import java.util.Date; 

public class Relogio extends Applet implements Runnable{ 


    Date data; 
    Thread proc; 
    Font f = new Font("TimesRoman", Font.BOLD, 40); 

    public void start(){ 

     proc = new Thread(this); 
     proc.start(); 

    } 

    public void stop(){ 

     proc = null; 

    } 

    @SuppressWarnings("static-access") 
    @Override 
    public void run() { 

     Thread th = Thread.currentThread(); 
     while(proc == th){ 

      data = new Date(); 

      try{ 

       th.sleep(500); 

      }catch(InterruptedException e){} 

      repaint(); 

     } 

    } 

    public void paint(Graphics g){ 

     g.setFont(f); 
     g.setColor(Color.GREEN); 
     g.drawString(data.toString(),20,60); 
    }} 

А теперь вот мой HTML код:

<!DOCTYPE html> 
<html> 


<head> 
<meta charset="ISO-8859-1"> 
<title>Insert title here</title> 
</head> 


<body> 
<applet code = "packageteste.Relogio.class" width="700"></applet> 
</body> 


</html> 
+0

Какой класс не может быть найден? –

+0

Класс Relogio: p –

+1

1) Зачем нужен апплет? Если это связано с тем, что учитель указал на это, обратитесь к [Почему учителя CS должны ** останавливаться ** преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-учебно-ява-апплеты /). 2) Зачем использовать AWT? См. [Этот ответ] (http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978) по многим причинам, чтобы отказаться от использования AWT с использованием компонентов в пользу Swing. –

ответ

1
  • code = "packageteste.Relogio.class" не должна включать в себя .class
  • Если ваш апплет, встроенный в .jar файл используйте атрибут archive="...", чтобы сообщить браузеру, что это .jar.
  • Если в вашем списке нет .jar, убедитесь, что класс packageteste.Relogio может быть найден как Relogio.class в каталоге packageteste.

Смотрите также здесь: How to specify correctly codebase and archive in Java applet?

+0

Примечание 2 вещи. 1) Апплет, не имеющий цифровой подписи, практически не сможет успешно запускаться в современной JRE. Чтобы быть подписанным, код должен быть в банке. 2) '' кроме удаления '.class', как указано в ответе, обязательно укажите' height' для апплета. Это обязательный атрибут. –

Смежные вопросы