Nedanstående applet fungerar inte i Explorer.. I Appletviewer fungerar den med undantag av att catch satsen går in. Men jag hittar inte vad som är fel. Någon vänlig själ som kan se vad som felar?
/* Applet för ELD (Ekvivalent luft djup)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 = 400;
private int APPLET_HEIGHT = 200;
private Label inputMSW, inputSYRE, outputlabel, resultLabel, felet;
private TextField djup, syre;
private Button Räkna;
public void init()
{
setLayout(null);
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);
inputMSW.setBounds(10, 15, 100, 30); // x y b h
syre.setBounds(120, 20, 60, 20);
inputSYRE.setBounds(10, 45, 100, 30);
djup.setBounds(120, 50, 60, 20);
Räkna.setBounds(10, 80, 60, 30);
resultLabel.setBounds(120, 80, 60, 30);
outputlabel.setBounds(90, 80, 30, 30);
add (inputSYRE);
add (syre);
add (inputMSW);
add (djup);
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();
try {
syretemp = Double.parseDouble ( syre1 );
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));
}
catch ( NumberFormatException e ) {
// Gör nåt skoj
felet = new Label("Error !!");
felet.setBounds(120, 100, 40, 40);
add(felet);
}
}
}