Toon posts:

Java, JBuilder3.5

Pagina: 1
Acties:

Verwijderd

Topicstarter
Van school moet ik een StopWatch maken, alleen kom ik er helemaal niet uit mijn opdracht. Elke keer geeft hij een fout aan dat het fout is, maar wat voor een fout het is weet ik niet :'(

De opdracht Stopwatch staat op <u><a href="http://htsa.ie.hva.nl/~java/index.html">Java</a></u>
Week 4, opdracht Stopwatch.

Wie kan mij helpen?

Source:

public class Stopwatch extends Applet {

//Buttons declareren
Button start, stop, reset;

//Textfield declareren
TextField vak1, vak2;

//variabelen declareren
Date tijdstip1 = new Date();
Date tijdstip2 = new Date();
long temp1, temp2, begintijdstip, eindtijdstip;

public void init() {

//Achtrgrondkleur
setBackground( Color.orange );
//Layout op nul zetten
setLayout( null );

//De knoppen worden toegevoegd
start = new Button( "Start");
start.setBounds( 10, 10, 50, 20 );
add( start );

stop = new Button( "stop" );
stop.setBounds( 65, 10, 50, 20 );
add( stop );

reset = new Button( "reset" );
reset.setBounds( 120, 10, 50, 20 );
add( reset );

//TextField op het scherm zetten
vak1 = new TextField( "00:00:00" );
vak1.setBounds( 50, 35, 80, 20 );
add( vak1 );

vak2 = new TextField( "00:00:00" );
vak2.setBounds( 50, 60, 80, 20 );
add( vak2 );

}

public void paint( Graphics g ) {

}

public void toon( Graphics g, int x, int y ) {
String temp1 = Long.toString( eindtijdstip - begintijdstip );
String temp2 = Long.toString( eindtijdstip % begintijdstip );
}

public boolean action( Event e, Object o ) {

if( e.target == start ) {
begintijdstip = tijdstip1.getTime();
return true;
}

if( e.target == stop ) {
eindtijdstip = tijdstip2.getTime();
temp1.toon( vak1 );
return true;
}

if( e.target == stop ){
eindtijdstip = tijdstip2.getTime();
temp2.toon( vak2 );
return true;
}

}


class Watch {

//Tijd instellen
Date tijdstip1 = new Date();
Date tijdstip2 = new Date();
long begintijdstip = tijdstip1.getTime();
long eindtijdstip = tijdstip2.getTime();


void toon( Graphics g, int x, int y ) {
String temp1 = Long.toString( eindtijdstip - begintijdstip );
String temp2 = Long.toString( eindtijdstip % begintijdstip );
}
}

}

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 19-09 18:12

Tim Schuhmacher

abasios

je hebt het verkeerde forum te paken, je moet naar de beneden buren:
http://gathering.tweakers.net/listtopics/14

  • Arno
  • Registratie: Juli 2000
  • Laatst online: 22:16

Arno

PF5A

--> [forum=14] <--

"Supercars are made to mess around with G-forces, hypercars are made to mess around with G-strings"
Jeremy Clarkson


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Allereerst moet je je klassen importeren (misschien heb je dat ook al wel gedaan:
code:
1
2
3
4
Stopwatch.java:14: cannot resolve symbol
symbol  : class Date
location: class Stopwatch
Date tijdstip2 = new Date();

door toe te voegen:
code:
1
2
3
import java.applet.*;
import java.awt.*;
import java.util.Date;

Daarna blijven er nog fouten over:
code:
1
2
3
4
5
6
Stopwatch.java:67: long cannot be dereferenced
temp1.toon( vak1 );
     ^
Stopwatch.java:73: long cannot be dereferenced
temp2.toon( vak2 );
import java.util.Date;

temp1 en temp2 zijn namelijk longs. Een long is een primitieve en heeft absoluut geen methode toon...

Duidelijke variabele namen gebruiken!!
(en post volgende keer alsjeblieft tussen [code ] .. [ /code] :) ).


edit: was zootje :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Verder gebruik je ook nog deprated stuff:
code:
1
2
3
Stopwatch.java:58: warning: action(java.awt.Event,java.lang.Object) in
java.awt.Component has been deprecated
public boolean action( Event e, Object o )

Het opvangen van akties moet sinds 1.1 met behulp van een ActionListener implementatie. Op zich werkt hetgene wat je hierboven hebt wel, maar het is absoluut niet mooi en in de toekomst kunnen deze methoden verwijderd worden uit de Java API.

Trouwens: post volgende keer ook ff je foutmelding :) . Ik moest nu gaan compileren om te kijken wat er aan de hand was.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Even door de beautifier gehaald:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import java.applet.*;
import java.awt.*;
import java.util.Date;

public class Stopwatch extends Applet {

    //Buttons declareren
    Button start, stop, reset;

    //Textfield declareren
    TextField vak1, vak2;

    //variabelen declareren
    Date tijdstip1 = new Date();
    Date tijdstip2 = new Date();
    long temp1, temp2, begintijdstip, eindtijdstip;

    public void init() {

        //Achtrgrondkleur
        setBackground(Color.orange);
        //Layout op nul zetten
        setLayout(null);

        //De knoppen worden toegevoegd
        start = new Button("Start");
        start.setBounds(10, 10, 50, 20);
        add(start);

        stop = new Button("stop");
        stop.setBounds(65, 10, 50, 20);
        add(stop);

        reset = new Button("reset");
        reset.setBounds(120, 10, 50, 20);
        add(reset);

        //TextField op het scherm zetten
        vak1 = new TextField("00:00:00");
        vak1.setBounds(50, 35, 80, 20);
        add(vak1);

        vak2 = new TextField("00:00:00");
        vak2.setBounds(50, 60, 80, 20);
        add(vak2);

    }

    public void paint(Graphics g) {

    }

    public void toon(Graphics g, int x, int y) {
        String temp1 = Long.toString(eindtijdstip - begintijdstip);
        String temp2 = Long.toString(eindtijdstip % begintijdstip);
    }

    public boolean action(Event e, Object o) {

        if (e.target == start) {
            begintijdstip = tijdstip1.getTime();
            return true;
        }

        if (e.target == stop) {
            eindtijdstip = tijdstip2.getTime();
            temp1.toon(vak1);
            return true;
        }

        if (e.target == stop) {
            eindtijdstip = tijdstip2.getTime();
            temp2.toon(vak2);
            return true;
        }

    }


    class Watch {

        //Tijd instellen
        Date tijdstip1 = new Date();
        Date tijdstip2 = new Date();
        long begintijdstip = tijdstip1.getTime();
        long eindtijdstip = tijdstip2.getTime();


        void toon(Graphics g, int x, int y) {
            String temp1 = Long.toString(eindtijdstip - begintijdstip);
            String temp2 = Long.toString(eindtijdstip % begintijdstip);
        }
    }

}

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je gebruikt de variabelen temp1 en temp2 ook op heel veel plaatsen. Dat leidt tot verwarring zoals je nu zelf al hebt gemerkt :) . Je gebruikt ze zelfs onder verschillende typen (long en String). Een variabele naam moet altijd de betekenis van de variabele aangeven...

Alles in dit leven is vergankelijk, dus temp zegt niet zoveel ;)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1