Avatar billede netspinner Nybegynder
04. juni 2004 - 12:47 Der er 3 kommentarer

Hvorfor kører dette ikke??

Til min store frustration kører dette ikke... jeg mistede klassen i nat under flere kørselstests. Nu har jeg kopieret koden ind fra et andet indlæg jeg lavede den anden dag og modificeret den så den burde være up-to-date... men den vil ikke køre!! Nogen der kan løse det, og evt. komme med et forslag til en bedre GUI?


import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.text.NumberFormat;

public class BMI extends Applet implements ActionListener {
    //Deklarationer af instansvariabler
    private TextField højdeFelt;
    private TextField vægtFelt;
    Label meddel1, meddel2, omdømme;
    private Image vægtklasse;
    Panel hp, vp, mp;
   
    //Panel lp = new Panel();      ///  instancevariable i stedet for
    //Panel vp = new Panel();
    //Panel mp = new Panel();
   
    public void init () { //Initialiserer GUI
        setLayout(new GridLayout(3,1)); //Som LayoutManager bruger vi GridLayout

        setBackground(new Color(51,51,51)); //Sort
        setForeground(new Color(255,153,0)); //Orange

        højdeFelt = new TextField(4);
        vægtFelt = new TextField(3);
       
        hp.add(new Label("Højde i meter (fx 1.82):"));
        hp.add(højdeFelt);
        hp = new Panel();

        vp.add(new Label("Vægt i kilo:"));
        vp.add(vægtFelt);
        vp = new Panel();

        meddel1 = new Label("Skriv din højde og vægt i tekstfelterne!"); // Meddel1+2 føjes til midterpanel for at lave et blikfang
        meddel2 = new Label("BMI-værdien og et udsagn udregnes og udskrives");
        mp = new Panel();

        højdeFelt.addActionListener(this); // Ved tilføjelse af Action Listener, tildeles Enter-tasten automatisk denne
        vægtFelt.addActionListener(this);

        mp.add(meddel1); mp.add(meddel2);

        add(hp); add(vp); add(mp);

        play(getDocumentBase(),"BlueDust.au"); //Afspil lyd ved opstart
        //vægtklasse = getImage(getDocumentBase(),"nok1.jpg");
       
        //new Figurer(JOptionPane.getFrameForComponent(this), true).show();
        new Figurer(new javax.swing.JFrame(), true).show(); //foretager et kald til Java SWING-klassen om at oprette et JFrame objekt
    }

    public void actionPerformed (ActionEvent e) {
        double højde =0, vægt = 0;

        Graphics g = vp.getGraphics();
        vp.update(g);
        int x = vp.getWidth() - 80;
        int y = ( vp.getHeight() / 2 ) - 25;
        g.setColor(Color.red);

    try {
        højde = Double.valueOf(højdeFelt.getText()).doubleValue();
        vægt = Double.valueOf(vægtFelt.getText()).doubleValue();
        double bmi = vægt/(højde*højde);
        String omdømme = "";

        if (bmi < 18.5) {
        omdømme = "undervægtig";
                    meddel2.setForeground(Color.red);    //Undervægtig:      rød
            play(getDocumentBase(),"BlueDust.au");
        }
       
        if (bmi > 18.4 && bmi < 25) {
            meddel2.setForeground(Color.green);  //Normalvægt:      grøn
            omdømme = "normalvægt";
            g.fillRect(x, y, 50, 50);
        }
       
        if (bmi >= 25 && bmi < 30) {
            omdømme = "overvægtig";
            meddel2.setForeground(Color.yellow); //Overvægtig:      gul
            play(getCodeBase(),"BlueDust.au"); //afspil lyd ved overvægtighed
            g.fillOval(x, y, 25, 50);
        }
        else {
            omdømme = "SVÆRT overvægtig";
            meddel2.setForeground(Color.red);    //Svært overvægtig: rød
            // omdome.setForeground(new Color(255,0,0)); //Farv rød
            g.fillOval(x, y, 50, 50);
        }

        NumberFormat nf = NumberFormat.getInstance();
        nf.setMaximumFractionDigits(1);
        meddel1.setText("Dit BMI er " + nf.format(bmi));
        meddel2.setText("hvilket betyder " + omdømme); //udskriv omdømmet
}

    //Tag højde for hvis brugeren har indtastet bogstaver i stedet for tal, eller helt undlader at taste i felterne
    catch (NumberFormatException ex) {
        //Graphics g = vp.getGraphics();
        vp.update(g);
        meddel1.setText("Fejlagtig indtastning, forsøg igen!");
        meddel2.setText("");
    }
}
}
Avatar billede arne_v Ekspert
04. juni 2004 - 12:54 #1
Hvad fejl får du ?
Avatar billede netspinner Nybegynder
04. juni 2004 - 12:57 #2
Både AppletViewer og browser melder konstant:
"applet not initialized"
Avatar billede netspinner Nybegynder
04. juni 2004 - 17:09 #3
Det kører nu...
forslag til GUI modtages dog stadig
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