Toon posts:

Java applet probleempje - doet het niet met correcte code

Pagina: 1
Acties:

Verwijderd

Topicstarter
Een java programmatje doet het bij mij niet.. terwijl het excact zo is als het voorbeeld in het boek.. ook die vanaf cd doet het niet.
Weet iemand hoe dat kan ?

Eerst is hij een tijdje bezig met loading applet.. en dan krijg ik linksboven een roode X.. wat doe ik fout ?

Heb verschillende versies van de JDK geprobeerd en gebruik op het moment
j2sdk1.4.2_01 ...

Doet hij het bij jullie wel ?

kijk hier maar eens voor de HTML file :

http://home.wanadoo.nl/jelmer.wijnja/Puzzel1.html

Dit is de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Puzzel1 extends Applet implements AdjustmentListener {

    private Scrollbar balk1,balk2,balk3;
    private int waarde1,waarde2,waarde3;
        private int grootste;
    
    public void init() {
        balk1 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,150);
        add(balk1);
        balk1.addAdjustmentListener(this);
        balk1 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,200);
        add(balk1);
        balk2.addAdjustmentListener(this);
        balk2 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,250);
        add(balk2);
        balk3.addAdjustmentListener(this);
        balk3 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,300);
        add(balk3);
        
    }

    public void paint(Graphics g) {
    if (waarde1 >= waarde2) 
        if ( waarde1 >= waarde3 ) 
            g.drawString("Schuifbalk3 heeft de grootste waarde",50,50);
        else 
            g.drawString("Schuifbalk1 heeft de grootste waarde",50,50);
    else
        if ( waarde2 >= waarde1 )
            if ( waarde2 >= waarde3 )
                g.drawString("Schuifbalk2 heeft de grooste waarde",50,50);
            else
                g.drawString("Schuifbalk3 heeft de grootste waarde",50,50);
        
    }

    public void adjustmentValueChanged(AdjustmentEvent events) {
        waarde1 = balk1.getValue();
        waarde2 = balk2.getValue();
        waarde3 = balk3.getValue();
        repaint();
    }

}


Wat gaat er fout ? ik zou het niet weten.. de code moet kloppen.. heb ik misschien een verkeerde versie?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 14:03

Robtimus

me Robtimus no like you

Je krijgt een NullPointerException in init() (regel 17), en ik zie ook al zo waardoor.

Voor zowel balk2 als balk3 roep je addAdjustmentListener aan terwijl de variabele niet eens geinitialiseerd is.


Kijk de volgende keer eens naar je Java Console.

[ Voor 15% gewijzigd door Robtimus op 18-11-2003 15:07 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
wat voor regel moet ik dan nog toevoegen ? bij mij gaf hij GEEN foutmelding bij het compileren... !!!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 14:03

Robtimus

me Robtimus no like you

Je creeert 4 scrollbars, declareer die dan ook zo.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
public void init() {
    balk1 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,150);
    add(balk1);
    balk1.addAdjustmentListener(this);
    balk2 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,200);
    add(balk2);
    balk2.addAdjustmentListener(this);
    balk3 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,250);
    add(balk3);
    balk3.addAdjustmentListener(this);
    balk4 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,300);
    add(balk4);
}


Als de allereerste niet nodig is voor de rest is dat natuurlijk wel onzin. Je krijgt dan
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
public void init() {
    balk1 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,150);
    add(balk1);
    balk1.addAdjustmentListener(this);
    balk1 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,200);
    add(balk1);
    balk1.addAdjustmentListener(this); // je werkt immers nog met balk1!!
    balk2 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,250);
    add(balk2);
    balk3.addAdjustmentListener(this);
    balk3 = new Scrollbar(Scrollbar.HORIZONTAL,1,1,1,300);
    add(balk3);
}



Hele belangrijke regel: initialiseer eerst je object-variabelen (mbv new) voordat je er ook maar 1 method van aanroept. Dat had je bij balk2 niet gedaan: de method aanroep kwam voor de initialisatie.

[ Voor 9% gewijzigd door Robtimus op 18-11-2003 15:18 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
Hee Thnx... de onderste vanje antwoord werkt wel die daarboven ook niet...

Gr. Jelmer