Avatar billede martin_schou Nybegynder
29. januar 2002 - 09:41 Der er 3 kommentarer og
1 løsning

Begynderproblemer med applets

*blush*

Jeg har aldrig (gentager lige nøgleordet: aldrig) rodet med applets før, så min undren gælder følgende:

_Burde_ følgende kode ikke bare virke:

<kode>
package Applet;

import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JLabel;

public class JApplet extends javax.swing.JApplet
  {
    private javax.swing.JPanel Desktop_Panel;

    public JApplet()
      {
        initComponents();
        setBackgroundImage();
      }

    private void initComponents()
      {
        Desktop_Panel = new javax.swing.JPanel();
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        Desktop_Panel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        getContentPane().add(Desktop_Panel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 610, 460));
      }

    protected void setBackgroundImage()
      {
        try
          {
            ImageIcon icon = new ImageIcon(new URL("http://192.168.1.39:81/ventilationsanlaeg.png"));
            JLabel label = new JLabel(icon);
            label.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight());
            Desktop_Panel.add(label, new Integer(Integer.MIN_VALUE));
          }
        catch(MalformedURLException e)
          {
            e.printStackTrace();
            e = null;
          }
      }
}
</kode>

<HTML>
<HEAD>
  <TITLE>Applet HTML Page</TITLE>
</HEAD>
<BODY>

<H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3>

<P>
<APPLET codebase=.. code="Applet/JApplet.class" width=350 height=200></APPLET>
</P>

<HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT>
</BODY>
</HTML>

HTML-koden er automagisk genereret af NetBeans, og den lille applet er også lavet vha. NetBeans.

Tydeligvis gør jeg et eller andet forkert, spørgsmålet er bare, hvad det er.
Avatar billede carstenknudsen Nybegynder
29. januar 2002 - 09:52 #1
Hvorfor viker den ikke, dvs får du kompileringsfejl
eller er det en runtime fejl?
Avatar billede martin_schou Nybegynder
29. januar 2002 - 09:54 #2
D'OH!

Der kommer det typiske vindue i browseren, hvor der står [noget] i et kort øjeblik (kan ikke nå at læse det) efterfulgt af "Applet crashed".
Avatar billede martin_schou Nybegynder
29. januar 2002 - 11:33 #3
Hmm - hvis jeg prøver at køre appletten fra NetBeans (vha Applet Viewer) sker der nada i Viewer'en, men NetBeans går amok og smider en "grim" exception:

load: class JApplet.class not found.
java.lang.ClassNotFoundException: java.io.FileNotFoundException: http://ms:8082/classpath/JApplet/class.class
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:562)
        at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:230)
        at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:221)
        at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:41)
        at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:140)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:137)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
        at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:111)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:381)
        at sun.applet.AppletPanel.createApplet(AppletPanel.java:579)
        at sun.applet.AppletPanel.runLoader(AppletPanel.java:515)
        at sun.applet.AppletPanel.run(AppletPanel.java:293)
        at java.lang.Thread.run(Thread.java:484)

Det er en kende sært, for class-filen er der. Og hvorfor prøver den at finde "JApplet.class", når den reelt set burde prøve at finde "Applet/JApplet.class"?
Avatar billede martin_schou Nybegynder
29. januar 2002 - 11:59 #4
Fejl fundet (efter længe møje og besvær):

package Applet;//tilsyneladende må appletten ikke ligge i en package???

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());//AbsoluteLayout er tilsyneladende FY FY i applets :-( Lidt noget skod.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester