webForumDet fria alternativet

Litet applet

Java

12 svar · 390 visningar · startad av janfang

Medlem sedan okt. 200058 inlägg
Frågan#1

Jag har lite javakod som jag tänkte visa som ett javaapplet. Koden går genom "kompileringen" men när jag försöker visa den i explorer får jag klassen Hopp finns inte och vad jag ser så finns den ju. Vad kan jag ha glömt för någon kod?

Bifogar koden nedan.
mvh
Jan.

Hopp.java

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Hopp extends Applet
{
  int i = 0;
  public void init()
  {
    addMouseListener(new MusLyssnare());
  }

  public void paint(Graphics g)
  {
    g.drawString("Testar " +i, 10,10);
  }

  class MusLyssnare extends MouseAdapter
  {
    public void mouseClicked(MouseEvent e)
    {
      i++;
      repaint();
    }
  }
}

Hopp.html

<html>
<head>
<title></title>
</head>
<body bgcolor="#000000">
<applet code="Hopp.class" height=200 width=400></applet>
</body>
</html>
Medlem sedan okt. 2000149 inlägg
#2

Det är ju inget fel på din kod.
Det jag kan komma på är att du måste se till att du har alla tre filer i samma katalog;
htmlfilen, Hopp.class-filen och den andra klassfilen som blir när du kör javac på Hopp.java.

Eftersom du har en inreklass så blir den inre klassen en egen .classfil.

Medlem sedan okt. 200058 inlägg
#3

Japp, alla filer ligger i samma katalog. Jag tog även och gjorde en jar-fil av de två classfilerna och lade in denna kod i htmlfilen, tänkte om inte alla klasser lästes in.

<applet code="Hopp.class" height="600" width="950" archive="Hopp.jar">hej</applet>

Det funkar dock inte ändå i explorer, men i appletviewer funkar det perfekt. (Adressen är http://www.janfangteknik.com/Hopp/Hopp.html )

Medlem sedan feb. 20002 300 inlägg
#4

Fungerar utmärkt för mig.
IE 6.0

Använder du någon swingkomponent?

Medlem sedan okt. 200058 inlägg
#5

Nope, jag använder bara awt. Jag har också 6.0, men hos mig syns inte något applet (klassen hopp kan inte hittas säger den). Andra applets funkar utmärkt.

Medlem sedan juni 20022 599 inlägg
#6

Jag roade mig med att klippa ut din kod och kompilera den.

Resultat: Funkar bra i Mozilla och appletviewern. Funkar inte i IE6.

Skumt. Kan inte heller se nåt fel. Verkar som Microsofts java-stöd håller på att urarta ..?

Medlem sedan okt. 200058 inlägg
#7

Det vore tråkigt om det inte går att visa i IE. Nu när man går en kurs i java kan det ju vara roligt att kunna lägga ut lite applets... Koden som jag använder är ju inte alls avancerad.

Testade också att kommentera bort den inre klassen så jag bara skulle skriva ut en text, men inte fungerade det.

Medlem sedan okt. 2000149 inlägg
#8

Vad konstigt. Denna applet fungerar för mig i IE6.0(svensk).
Har Windows98, Sun javaplugin.

Medlem sedan juni 20022 599 inlägg
#9

För att öka förvirringen: Jag kompilerade om med en äldre JDK (1.1.8). Då funkade appleten med IE6!

Jag skulle alltså tro att det finns någon inkompabilitet mellan Microsofts javatolk i IE6 och den senaste JDK:en. Det funkar säkert också om man använder SUNs java-plugin i IE.

Slutsats: Använd en lite äldre JDK för att vara på säkra sidan.

Medlem sedan okt. 200058 inlägg
#10

Ja nu fungerar det för mig också.

Tack så mycket hjälpen!

Medlem sedan feb. 20012 412 inlägg
#11

De flesta webbläsare klarar bara java 1.1 :)

Medlem sedan juni 200010 432 inlägg
#12

De flesta webbläsare klarar bara java 1.1

Jepp... troligen har de här ovan som testat koden innan omkompileringen högre versioner installerat (utöver det som MS tillhandahåller) ;)

Medlem sedan juni 20022 599 inlägg
#13

Och följdaktligen bör man alltid skriva: "javac -target 1.1 .." när man tillverkar applets med senaste JDK:n. Ett tips för dom som inte kände till denna fallgropen (mig själv inräknad).

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)