Avatar billede anjensen1 Novice
19. september 2000 - 22:34 Der er 3 kommentarer og
2 løsninger

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


Avatar billede stigc Nybegynder
19. september 2000 - 22:50 #1
tror du ikke der er fordi du bruger bibliotekerne:

import borland.jbcl.layout.*;
import borland.jbcl.control.*;

Avatar billede 49152 Nybegynder
20. september 2000 - 01:22 #2
Altså anjensen. Hvorfor spørger du både i vebcafe og her. Men nu får jeg jo så lejlighed til at få nogen point for mit udemærkede svar til dig i webcafe. :). Elller hvad.
http://www.webcafe.dk/java/debatforum/indlaeg.php3?id=267

Anders.

Avatar billede anjensen1 Novice
20. september 2000 - 17:05 #3
Hej!
Problemt er at det ikke er muligt at lave applets i JB2 _uden_ import af ovenstående biblioteker.
Blot det at starte applet editoren betyder at disse biblioteker er importeret.
Det er disse applets som gerne skulle kunne køre.
Fjernes ovenstående lib. så kan applets ikke compiles i JB2. Desvære ser det ud til at JB2 er forud for browsweren (Dér har du derfor HELT ret Anders!) og så er der jo bare ikke noget at gøre. Problemet kan åbenbart ikke løses
ps -Ked af det Anders men din WebCaféløsning fik ikke JB2-applets til at køre (derfor prøvede jeg hér) :)
Et *suk* til allersidst: Vil det sige at alle de smarte og avancerede muligheder der ligger i JBL og BorlandBeans Swing etc ganske enkelt _ikke_ kan køre på nettet endnu :(

Tak for forsøget!
Avatar billede stigc Nybegynder
20. september 2000 - 17:11 #4
havde vi så ikke også ret? Det var jo den fejl vi pegede på.
Avatar billede 49152 Nybegynder
20. september 2000 - 19:44 #5
Uden nogensinde at have brugt den der jb2, er jeg helt sikker på at det godt kan lade sig gøre at skrive java ting som kan køre på nettet, med den.

Du skal bare starte helt fra bunden og skrive hele kildekoden selv. Den skal sku da compilere det, også uden de der skide importer. Ellers kan du bare downloade jdk2 fra sun, og så selv kompilere det ude i Dos.

Jeg tror det er meget sandsynligt at du har lavet en applet som umidbart ikke kan ordnes til at køre på nettet. Anders
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