Ik ben nogal een newbie mbt java (1e jaars op school). De opdracht is om een rekenmachine te maken met behulp van een tekstvlak. Als er op Enter wordt gedrukt moet de som van de getallen die in het tekstvlak staan (dmv een spatie gescheiden) worden opgeteld en in een Label gezet.
Nu heb ik een probleempje, als ik een button aanmaak en deze de waarde laat optellen gaat alles goed, maar als ik het met de Enter knop doe geeft ie verkeerde waarden door? Hoe komt dit? Ziet java de enter toets ook voor een getal aan ofzo die erbij opgeteld wordt!?!?!
Alvast bedankt...:)
Nu heb ik een probleempje, als ik een button aanmaak en deze de waarde laat optellen gaat alles goed, maar als ik het met de Enter knop doe geeft ie verkeerde waarden door? Hoe komt dit? Ziet java de enter toets ook voor een getal aan ofzo die erbij opgeteld wordt!?!?!
Alvast bedankt...:)
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
| import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.StringTokenizer;
public class Rekenmachine extends Applet implements ActionListener { //KeyListener
TextField getalleninvoer;
Label uitkomst;
Button knop;
private int totaal;
private int verwissel;
public void init()
{
setLayout(null);
uitkomst = new Label ("Totale waarde");
uitkomst.setBounds(30,50,100,25);
add(uitkomst);
getalleninvoer = new TextField("");
getalleninvoer.setBounds(150,50,200,25);
add(getalleninvoer);
//getalleninvoer.addKeyListener(this);
knop = new Button("Bereken totaal");
knop.setBounds(150,150,200,25);
add(knop);
knop.addActionListener(this);
}
public void paint(Graphics g)
{
}
// public void keyTyped (KeyEvent e){}
// public void keyReleased(KeyEvent e){}
// public void keyPressed(KeyEvent e)
public void actionPerformed(ActionEvent e)
{
StringTokenizer haaleruit = new StringTokenizer(getalleninvoer.getText(), " ");
while (haaleruit.hasMoreTokens())
{
verwissel = Integer.parseInt(haaleruit.nextToken().trim());
totaal = totaal + verwissel;
}
// if (e.getKeyCode() == e.VK_ENTER)
if (e.getSource() == knop)
{
uitkomst.setText(""+totaal);
totaal = 0;
}
}
} |