bonjour tout le monde
SVP je veux dessiner un ensemble de cerle dans un JPanel
pouvez vouz me donner une idée comment le faire de telle sorte que les cercles ne se croisent pas
comment je peux choisir à chaque fois l'emplacement du cercle
merci
Version imprimable
bonjour tout le monde
SVP je veux dessiner un ensemble de cerle dans un JPanel
pouvez vouz me donner une idée comment le faire de telle sorte que les cercles ne se croisent pas
comment je peux choisir à chaque fois l'emplacement du cercle
merci
Regarde du côté des API java et plus particulièrement dans la classe Graphics, où tu trouveras la méthode drawOval(int x, int y, int width, int height) pour des cersles, il suffit que width et height soient égaux, et ce sera le diamètre, après, il te faudras définir une méthode qui évite l'intersection.
oui mais comment faire pour choisir à chaque itération l'endroit de mon cercle
par ce que le nombre de cercles change à chaque fois et le nombre de cercles ne doit pas dépacer une limite
ce que j'ai eu comme idée c'est de créer une liste de tous les cercles qui peuvent êtres créer dans ce JPanel et je choisis à chaque itération et de faire les MAJ de la liste
mais comment je peux choisir l'enplacement des cercle ce qui me parrait difficile à résoudre
Je comprends pas très bien ton problème, qu'est ce que tu entends par "choisir l'endroit de ton cercle"?
Est ce que tu veut le faire toi "manuellement"? dans ce cas, tu devras permettre à l'utilisateur de choisir les coordonnées avec des composants graphiques comme des boutons par exemple.
Ou alors de manière aléatoire?il y a des méthodes qui permettent de choisir des nombres de manière aléatoire.
Commence par créer une méthode créationCercle(int x, int y, int rayon, int nombreDeCercle) qui crée un cercle et incrémente une variable nombreDeCercles ... Si nombreDeCerlce dépasse une valeur, la méthode ne fera rien...
Montre nous ton code, on pourra mieux t'aider
ok voici le 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 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MonPanel extends JPanel { private int ; MonPanel( int so1) { so=so1; } public void paintComponent(Graphics g) { setBackground(Color.red); super.paintComponent(g); //super.setFont(new Font("Tahoma",Font.BOLD,14)); setBounds(27, 38, 842,473); for(int i=0;i<so;i++) { // dessiner les cercles dans JPanel sachant qu'ils ne se croisent pas } } }