Applets lavet i JBUILDER kører ikke i Browser
Hej alle!Jeg håber at der er en der har en løsning på dette problem.
Jeg laver JAVA i JBUILDER2 (JB2) -De Applets som jeg laver kører fint i udviklingsmiljøets appletviewer -og compiler igennem uden fejl / warnings!
JB2 laver selv en HTML-fil som indbygger appleten -men..
Den kan ikke køres i browseren!
Nedenfor er JB2 HTML-koden med en applet \'drop1\' bygget ind.
NB det ændrer ikke noget at skrive \'drop1.class\' istedet for \'Drop1-class\'.
Ej heller er det respons på at ændre Drop1.class til \"Drop1.class\" -altså tilføje \"\" -som vort UV-materiale fra skolen prædiker ;0)
Class-filen ligger i samme bibliotek som HTML-filen med denne kode:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
<HTML>
<HEAD>
</HEAD>
<BODY>
<APPLET
CODE = Drop1.class
NAME = \"TestApplet\"
WIDTH = 400
HEIGHT = 300
HSPACE = 0
VSPACE = 0
ALIGN = Middle
>
</APPLET>
</BODY>
</HTML>
En særlig \'krølle\' på historien: Med i JB2 ligger nogle eksempler. Hvis et sådant eksempel tages ind i editoren og compileres dannes en class file som ..KAN indbygges...!
Det er nok en parameter der skal med på opsætningen af projektet men hvilken?
kildekoden til appleten er næsten ren autokode i denne funktionstest.
Eneste \'nyt\' er en simpel system.out.println og en dummieknap som blot skal kunne ses når appleten kører i MIE5.0 browsweren
Kildekoden:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import borland.jbcl.layout.*;
import borland.jbcl.control.*;
//import com.sun.java.swing.UIManager;
public class drop1 extends Applet {
XYLayout xYLayout1 = new XYLayout();
boolean isStandalone = false;
String a;
ButtonControl buttonControl1 = new ButtonControl();
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public drop1() {
}
//Initialize the applet
public void init() {
try { a = this.getParameter(\"a\", \"a\"); } catch (Exception e) { e.printStackTrace(); }
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//static {
// try {
// //UIManager.setLookAndFeel(new com.sun.java.swing.plaf.metal.MetalLookAndFeel());
// //UIManager.setLookAndFeel(new com.sun.java.swing.plaf.motif.MotifLookAndFeel());
// UIManager.setLookAndFeel(new com.sun.java.swing.plaf.windows.WindowsLookAndFeel());
// }
// catch (Exception e) {}
//}
//Component initialization
private void jbInit() throws Exception {
xYLayout1.setWidth(314);
xYLayout1.setHeight(249);
buttonControl1.setLabel(\"DummieKnap\");
this.setLayout(xYLayout1);
this.add(buttonControl1, new XYConstraints(68, 82, 163, 57));
}
//Start the applet
public void start() {
}
//Stop the applet
public void stop() {
}
//Destroy the applet
public void destroy() {
}
//Get Applet information
public String getAppletInfo() {
return \"Applet Information\";
}
//Get parameter info
public String[][] getParameterInfo() {
String pinfo[][] =
{
{\"a\", \"String\", \"en test\"},
};
return pinfo;
}
//Main method
public static void main(String[] args) {
drop1 applet = new drop1();
applet.isStandalone = true;
DecoratedFrame frame = new DecoratedFrame();
frame.setTitle(\"Applet Frame\");
frame.add(applet, BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(400,500);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2);
frame.setVisible(true);
System.out.println(\"Dette er blot en linie tekst\");
}
}
Denne kode kører uden nogen form for warnings oe. errors.
I MIE5.0 starter appleten op men der vises kun en grå kasse med de dimmentioner som er bestem i HTML dokumentet.
Ved OnMouseOver kommer flg fejl meddelelse i Browser statuslinien:
load: drop1 can\'t be instantiated
-andet sker der ikke
I kan hjælpe et helt hold datamatiker studerende hvis I kan klare den her... *s*
mvh og tak
anjensen
