Ik ben bezig met het maken van een schoolopdracht.
Het is de bedoeling dat het een soort tekenprogrammatje wordt.., je kan via knoppen instructies geven aan een schilpad, naar links naar rechtsk, omdraaien x aantal pixels vooruit etc.
Nu is het probleem er moet iedere keer een lijn BIJ getekend worden.. dit wil mij niet goed lukken..
Wat is het gemakkelijkst om een paint methode aan te roepen die slechts 1 lijn tekent !
Ik wil GEEN dimensionale array of iets dergelijks om alle coordinaten op te slaan maar zodra er op de knop gedrukt wordt moet er gewoon een lijn bij komen...
g.drawLine(x,x,x,x) kan niet in de actie methode omdat je de g. dingus nog niet hebt...
De code:
Kan iemand mij helpen ?
Het is de bedoeling dat het een soort tekenprogrammatje wordt.., je kan via knoppen instructies geven aan een schilpad, naar links naar rechtsk, omdraaien x aantal pixels vooruit etc.
Nu is het probleem er moet iedere keer een lijn BIJ getekend worden.. dit wil mij niet goed lukken..
Wat is het gemakkelijkst om een paint methode aan te roepen die slechts 1 lijn tekent !
Ik wil GEEN dimensionale array of iets dergelijks om alle coordinaten op te slaan maar zodra er op de knop gedrukt wordt moet er gewoon een lijn bij komen...
g.drawLine(x,x,x,x) kan niet in de actie methode omdat je de g. dingus nog niet hebt...
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
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
| import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
public class Puzzel1 extends Applet implements ActionListener {
private Button pen_naar_boven,pen_naar_beneden;
private Button naar_links,naar_rechts,x_naar_voren;
private int pixels=100;
private int richting=1,co1,co2,pos1=0,pos2=0;
public void init() {
pen_naar_boven = new Button("pen naar boven");
add(pen_naar_boven);
pen_naar_boven.addActionListener(this);
pen_naar_beneden = new Button("pen naar beneden");
add(pen_naar_beneden);
pen_naar_beneden.addActionListener(this);
naar_links = new Button("90 naar links");
add(naar_links);
naar_links.addActionListener(this);
naar_rechts = new Button("90 naar rechts");
add(naar_rechts);
naar_rechts.addActionListener(this);
x_naar_voren = new Button("n pixels naar voren");
add(x_naar_voren);
x_naar_voren.addActionListener(this);
}
public void paint(Graphics g) {
g.drawLine(pos1,pos2,co1,co2);
pos1=co1;
pos2=co2;
}
public void actionPerformed(ActionEvent event) {
if (event.getSource() == naar_links) {
if (richting == 1)
richting = 4;
else
richting = richting-1;
}
if (event.getSource() == naar_rechts) {
if (richting == 4)
richting = 1;
else
richting = richting+1;
}
if (event.getSource() == pen_naar_beneden)
richting = 3;
if (event.getSource() == pen_naar_boven)
richting = 1;
if (event.getSource() == x_naar_voren){
switch(richting){
case 1 : {
co1 = pos1;
co2 = pos2-pixels;
break;
}
case 2 : {
co1 = pos1+pixels;
co2 = pos2;
break;
}
case 3 : {
co1 = pos1;
co2 = pos2+pixels;
break;
}
case 4 : {
co1 = pos1-pixels;
co2 = pos2;
break;
}
default: break;
}
repaint();
}}
} |
Kan iemand mij helpen ?