ZaimanMedlem sedan dec. 20012 439 inlägg
Jag har en class som ska räkna ut ELD enligt en formel. Compileringen går igenom och appleten fungerar i Applet Viewer.
Men den fungerar inte om man bakar in den i ett HTML Dokument (Förutom i nätskräp version 6)
Jag kan inte förstå varför...
Någon duktig som kan?
Så här ser den ut:
/* Applet för ELD beräkning
Av Niklas Györi
*/
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class test extends Applet implements ActionListener
{
private int APPLET_WIDTH = 200;
private int APPLET_HEIGHT = 100;
private Label inputMSW, inputSYRE, outputlabel, resultLabel;
private TextField djup, syre;
private Button Räkna;
public void init()
{
inputMSW = new Label ("Ange djup MSW: ");
inputSYRE = new Label ("Ange % syre: ");
outputlabel = new Label ("Eld : ");
resultLabel = new Label ("N/A");
djup = new TextField (5);
syre = new TextField (5);
Räkna = new Button ("Räkna");
djup.addActionListener (this);
syre.addActionListener (this);
Räkna.addActionListener (this);
add (inputMSW);
add (djup);
add (inputSYRE);
add (syre);
add (outputlabel);
add (resultLabel);
add (Räkna);
setBackground (Color.white);
setSize (APPLET_WIDTH, APPLET_HEIGHT);
}
public void actionPerformed (ActionEvent event)
{
int djuptemp;
double syretemp;
double resultat;
double temp1;
String syre1 = syre.getText();
String djup1 = djup.getText();
//temp1 = null;
// resultat = 0;
syretemp = Double.parseDouble (syre1);
// throws NumberFormatException
djuptemp = Integer.parseInt (djup1);
djuptemp = djuptemp + 10;
syretemp = syretemp / 100;
syretemp = 1 - syretemp;
temp1 = syretemp / 0.79;
resultat = temp1 * djuptemp;
resultat = resultat - 10;
resultLabel.setText (Double.toString(resultat));
}
}
LAMPMedlem sedan mars 2002729 inlägg
Kontrollera så att du inte använder något som överstiger Java 1.1 Webläsare klarar inte senare versioner av java, med undantag NN 6 då antagligen.
SPiNMedlem sedan mars 20005 832 inlägg
Vad får du för meddelande från Appleten när den inte fungerar? Det brukar stå någonting nere i statusbaren i webläsaren när du för musen över Appleten.
Vad jag såg så kunde jag inte upptäcka någon Java2, utan det var ren och skär 1.1-kompabilitet. :)
PeWMedlem sedan juni 20006 839 inlägg
+ att wF har en fiffig kod-tagg man kan använda då man postar kod, så att den blir lite lättare att läsa ;)
ZaimanMedlem sedan dec. 20012 439 inlägg
Inget meddelande
Tack för tipset om kodskrivning i webforum.
Jag får inget meddelande i statusraden.
spangoMedlem sedan juni 20006 147 inlägg
ZaimanMedlem sedan dec. 20012 439 inlägg
inget
Inget meddelande i Javaconsolen heller :(
ZaimanMedlem sedan dec. 20012 439 inlägg
Lösningen
Ladda ned Javaplugin från Javasoft.com till Internet Explorer. Tråkigt men sant.
SPiNMedlem sedan mars 20005 832 inlägg
Det är lite trist, då dina besökare kommer att vara tvungna att göra det samma för att kunna se appleten. Det verkar ju som sagt konstigt att din applet inte fungerar, då den är 1.1 kompatibel.
Kanske är att du inte fångar exceptions från dessa rader?
syretemp = Double.parseDouble (syre1);
djuptemp = Integer.parseInt (djup1);
Försök med:
try {
syretemp = Double.parseDouble ( syre1 );
djuptemp = Integer.parseInt ( djup1 );
}
catch ( NumberFormatException e ) {
// Gör nåt skoj
}
Men det skulle ju verkar lite skumt. :q
ZaimanMedlem sedan dec. 20012 439 inlägg
Uppmärksammat något nytt
Om jag inte har pluginen aktiverad så såg jag att Internet Explorer inte hittar classen. Men samma html dokument fungerar om jag har den aktiverad. Finns det några extra parametrar eller nått man kan skriva i html dokumentet?
så här ser html dokumentet ut
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Eld</title>
</head>
<body bgcolor="#ffffff">
<applet code="eld2.class" CODEBASE="." width=300 height=300>
</applet>
</body>
</html>