[java[ Mały problem z appletem

0

Witam mam taki problem
ucze się do piero javy
mam taki kodzik
i wszystko sie kompiluje

import java.applet.*;
import java.awt.*;

public class karol extends Applet
{  Font f;
   int typ = Font.BOLD + Font.ITALIC;
   int wielkosc = 16;
   String nazwa = "Courier";

   public void init ()
   { repaint();			// metoda "przerysowująca" applet
   }

   public void paint (Graphics g)
   {  f = new Font (nazwa, typ, wielkosc);
      g.setFont (f);
      g.drawString ("Ustawienia czcionki:",   20, 30);
      g.drawString (" nazwa:    " + nazwa,    20, 50);
      g.drawString (" wielkość: " + wielkosc, 20, 70);
      g.drawString (" typ:      " + typ,      20, 90);
   }
}

i mam plik index.html

<HTML>
<HEAD>
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
	<TITLE></TITLE>
	<LINK REL="StyleSheet" TYPE="text/css" HREF="style.css">
</HEAD>
<BODY >
<APPLET CODE="karol.class" WIDTH=150 HEIGHT=25 name="Applet"></APPLET>
</DIV>
</BODY>
</HTML>

i mam taki bład

invalid bytocode i co mam zrobic s tym?
help mi

0

wyglada jakbys kompilowal nowsza wesja javy niz runtime w przegladarce
moze masz zainstalowane np 2 javy, kompilujesz jdk5 a masz ustawione w przegladarce zeby uzywal javy 4
wpisz w linii polecen java -version
PanelSterowania -> Java -> zakladka Java -> Java Applet Runtime Settings
tam zobacz jaka wesja jest uzywana
i porownaj,jesli sa inne to zmien

0

nom miałem dwie jedno wyłączyłem pod opera działa a pod FF IE nie działa :(

0

Sprawdziłem, u mnie działa na IE, Firefoksie i Operze.
Sprawdzanie czy poprawiony aplet działa lepiej jest trochę kłopotliwe - nie wystarczy podmienić plik class i odświeżyć stronę. Przeglądarka korzysta z dawnej wersji, którą ma w pamięci - trzeba wyjść z przeglądarki lub umieścić pliki html i class w nowym katalogu.

  1. Aplet będzie uruchamiany na innej maszynie, nie wiesz jaka tam jest wersja JRE. Warto kompilować w
    starej wersji np. tak: javac -target 1.4 karol.java
  2. Wartości parametrów height i width mają znaczenie. U Ciebie są za małe - aplet nie ma gdzie rysować.
  3. Wywołanie repaint() wewnątrz init() jest zbyteczne. W init() powinno być to co powinno być wykonane
    jeden raz. W szczególności, powinieneś do init() przenieść f = new Font (nazwa, typ, wielkosc);

1 użytkowników online, w tym zalogowanych: 0, gości: 1