Hallo iedereen,
Ik ben pas begonnen aan een cursus java en voor mijn tweede evaluatie moest ik een programma schrijven dat de positie en diameter van een cirkel controleert via sliders en drie punten genereert wanneer ik op een knop druk.
De bedoeling is dan om de cirkel door de drie punten te laten gaan.
Alles werkt ongeveer maar telkens als ik de sliders van de cirkel beweeg verdwijnen de punten.
Ik heb al vanalles geprobeerd maar het lukt me niet
kan iemand mij helpen?
dit is de code:
Alvast bedankt 
Ik ben pas begonnen aan een cursus java en voor mijn tweede evaluatie moest ik een programma schrijven dat de positie en diameter van een cirkel controleert via sliders en drie punten genereert wanneer ik op een knop druk.
De bedoeling is dan om de cirkel door de drie punten te laten gaan.
Alles werkt ongeveer maar telkens als ik de sliders van de cirkel beweeg verdwijnen de punten.
Ik heb al vanalles geprobeerd maar het lukt me niet
kan iemand mij helpen?
dit is de code:
Code:
package be.cvo.leuven;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.event.*;
public class Cirkel extends JFrame implements ChangeListener,ActionListener {
private JSlider Svert, Shor, Sdia;
private JPanel panel;
private JLabel Lvert, Lhor, Ldia;
private Random random = new Random();
private JButton knop;
int p1,p2,m1,m2,r1,r2,x,y,z;
public static void main (String[] args) {
Cirkel frame = new Cirkel();
frame.setSize(700,700);
frame.createGUI();
frame.setVisible(true);
}
public void stateChanged(ChangeEvent evt ){
int x = Shor.getValue();
int y = Svert.getValue();
int z = Sdia.getValue();
Graphics g = panel.getGraphics();
teken(g, (int) x , (int) y, (int) z);
}
public void actionPerformed(ActionEvent e) {
int p1,p2,m1,m2,r1,r2;
Graphics g = panel.getGraphics();
p1 = random.nextInt(399);
p2 = random.nextInt(399);
m1 = random.nextInt(399);
m2 = random.nextInt(399);
r1 = random.nextInt(399);
r2 = random.nextInt(399);
g.drawOval(p1,p2,2,2);
g.drawOval(r1, r2, 2, 2);
g.drawOval(m1, m2, 2, 2);
}
private void createGUI(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container venster = getContentPane();
venster.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(new Dimension(400,400));
panel.setBackground(Color.WHITE);
Lhor = new JLabel ("Horizontale positie:");
venster.add(Lhor);
Shor = new JSlider(JSlider.HORIZONTAL,0,200,20);
venster.add(Shor);
Shor.addChangeListener(this);
Ldia = new JLabel("Diameter:");
venster.add(Ldia);
Sdia = new JSlider(JSlider.HORIZONTAL,0,400,20);
venster.add(Sdia);
Sdia.addChangeListener(this);
venster.add(panel);
Lvert = new JLabel("Verticale positie;");
venster.add(Lvert);
Svert = new JSlider(JSlider.VERTICAL,0,200,20);
Svert.addChangeListener(this);
venster.add(Svert);
knop = new JButton("genereer punten");
knop.addActionListener(this);
venster.add(knop);
}
private void teken(Graphics g,int x, int y,int z){
g.clearRect(1,1,400,400);
g.setColor(Color.BLACK);
g.drawOval(x, y, z, z);
g.drawOval(p1,p2,3,3);
g.drawOval(m1,m2,3,3);
g.drawOval(r1,r2,3,3);
}
}

Laatst bewerkt door een moderator: