Ik volg een informatica opleiding op het HBO en tijdens deze opleiding krijg ik programeren met Java. Nu heb ik morgen een toets over events. Hierbij komen aanbod: Scrollbars, buttons en de if statement.
Nu doe ik om een beetje te oefen een oefentoets die ik van mijn leeraar heb gekregen, en luidt de opdracht als volgt:
Maak een applet met daarin de volgende methodes, drawCircle en draw-
Square. Zet het vierkant linksboven. De circel wordt random binnen het
tekenvenster geplaatst.
Met de schuifbalken kan het vierkant verplaatst worden.
Het is de bedoeling dat het vierkant precies op de rode cirkel
geplaatst kan worden.
Geef de positie tussen de beide objecten met een drawString.
De afstand is altijd een positief getal of het is neutraal (0 dus).
Als de rode vlek verdwijnt verschijnt er: GELUKT.
Nu heb ik het volgende:
Nu heb ik dus een vaste waarde gegeven aan de cirkel. Dat is niet de bedoeling. Ik weet dat getallen random kan laten verschijnen. Nu heb ik mijn boek er nog eens opna geslagen en niet kunnen vinden hoe ik die cirkel random kan later verschijnen.
Ik denk dat dit wel nodig is om de horizontale en verticale verschil weer te geven.
Want dan kan je de x en y waarde van cirkel minus de x en y waarde van de rect kan doen. (hoop dat dit zo werkt, mochten jullie dit weten laat het dan ook ff weten).
Nu doe ik om een beetje te oefen een oefentoets die ik van mijn leeraar heb gekregen, en luidt de opdracht als volgt:
Maak een applet met daarin de volgende methodes, drawCircle en draw-
Square. Zet het vierkant linksboven. De circel wordt random binnen het
tekenvenster geplaatst.
Met de schuifbalken kan het vierkant verplaatst worden.
Het is de bedoeling dat het vierkant precies op de rode cirkel
geplaatst kan worden.
Geef de positie tussen de beide objecten met een drawString.
De afstand is altijd een positief getal of het is neutraal (0 dus).
Als de rode vlek verdwijnt verschijnt er: GELUKT.
Nu heb ik het volgende:
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
| import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
public class toets extends Applet
implements AdjustmentListener {
private Scrollbar slider, slider1;
private int sliderValue;
private int slider1Value;
public void init () {
slider = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 500);
add(slider);
slider.addAdjustmentListener(this);
slider1 = new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 500);
add(slider1);
slider1.addAdjustmentListener(this);
}
public void paint(Graphics g) {
drawCircle(g,200,150,10,10,0,360);
drawSquare(g,0,0,10,10);
}
private void drawCircle(Graphics g, int x,int y,int breedte,int lengte, int starthoek, int hoek) {
g.setColor(Color.red);
g.fillArc(x,y,breedte,lengte,starthoek,hoek);
}
private void drawSquare(Graphics g, int x,int y,int breedte, int hoogte) {
g.setColor(Color.yellow);
g.fillRect(x+sliderValue,y+slider1Value,breedte,hoogte);
}
public void adjustmentValueChanged(AdjustmentEvent e) {
sliderValue = slider.getValue();
slider1Value = slider1.getValue();
repaint();
}
} |
Nu heb ik dus een vaste waarde gegeven aan de cirkel. Dat is niet de bedoeling. Ik weet dat getallen random kan laten verschijnen. Nu heb ik mijn boek er nog eens opna geslagen en niet kunnen vinden hoe ik die cirkel random kan later verschijnen.
Ik denk dat dit wel nodig is om de horizontale en verticale verschil weer te geven.
Want dan kan je de x en y waarde van cirkel minus de x en y waarde van de rect kan doen. (hoop dat dit zo werkt, mochten jullie dit weten laat het dan ook ff weten).