A

Ville : Alger
Pays : Algérie Études : ETS Montréal
|
J'ai adoré follement je suie en pleine folie !
Les 40e rugissants et les 50e hurlants.  --> Brainstorming --> CamelCase
-------------
"je crois qu'on ne peut mieux vivre qu'en chercant à devenir meilleur, ni plus agréablement qu'en ayant pleine conscience de son amélioration"
Socrate
-------------
les meilleurs peintres se sont fait dire qu’ils n’étaient pas bon, aujourd’hui ce sont des Dieux!
-------------
RTFM  l'expression anglaise d'argot Internet Read the fucking manual (« Lis le foutu manuel ») ;
-------------
Mon CV en ligne ici
|
|
|
slt, d'abord merci pour le tuto...j'en ai appris des choses depuis le debut.
Au fait mon problème est que quand je change de couleur, tout ce que j'avais dessiné prend la nouvelle
couleurs!!!
les class Panneau, Point et Fenetre:
Code : Java - Panneau.java 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
81 | import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Panneau extends JPanel {
private Point point = new Point();
private ArrayList<Point> listPoints = new ArrayList<Point>();
public void paintComponent(Graphics g){
g.setColor(Color.WHITE);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
// g.fillOval(point.getPosiX(), point.getPosiY(), point.getTaille(), point.getTaille());
for(Point p : this.listPoints)
{
//On récupère la couleur
g.setColor(point.getCouleur());
//Selon le type de point
if(p.getForme().equals("CARRE")){
g.fillRect(p.getPosiX(), p.getPosiY(), p.getTaille(), p.getTaille());
}
else if(p.getForme().equals("ROND")){
g.fillOval(p.getPosiX(), p.getPosiY(), p.getTaille(), p.getTaille());
}
}
}
public Panneau(){
this.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent arg0) {}
@Override
public void mouseDragged(MouseEvent arg0) {
// TODO Auto-generated method stub
listPoints.add(new Point(point.getCouleur(), point.getTaille(), arg0.getX(), arg0.getY(), point.getForme()));
repaint();
}
});
this.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
listPoints.add(new Point(point.getCouleur(), point.getTaille(), e.getX(), e.getY(), point.getForme()));
repaint();
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseClicked(MouseEvent e) {}
});
}
public void effacerEcran(){
if ((new JOptionPane()).showConfirmDialog(null, "Voulez-vous effacer l'écran ?", "Effacer", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION){
listPoints = new ArrayList<Point>();
repaint();
}
}
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
public void setListPoints(ArrayList<Point> listPoints) {
this.listPoints = listPoints;
}
}
|
Code : Java - Fenetre.java 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179 | import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.MenuBar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JToolBar;
public class Fenetre extends JFrame {
//getions de la fenetre
private JPanel conteneur = new JPanel();
private BorderLayout bl = new BorderLayout();
private Panneau pan = new Panneau();
//*********************************************************************************************
//Gestion du menu
private JMenuBar monMenu = new JMenuBar();
private JMenu fichier = new JMenu("Fichier");
private JMenuItem fichier_Effacer = new JMenuItem("Effacer");
private JMenuItem fichier_Quitter = new JMenuItem("Quitter");
private JMenu edition = new JMenu("Edition");
private JMenu formeDuPointeur = new JMenu("Forme du pointeur");
private JMenuItem pointeurRond = new JMenuItem("Rond");
private JMenuItem pointeurCarre = new JMenuItem("Carre");
private JMenu couleurDuPointeur = new JMenu("Couleur du pointeur");
private JMenuItem couleurRouge = new JMenuItem("Rouge");
private JMenuItem couleurVert = new JMenuItem("Vert");
private JMenuItem couleurBleu = new JMenuItem("Bleu");
//*********************************************************************************************
//Gestion de la barre d'outils
private JToolBar barreOutils = new JToolBar();
private JButton boutonRond = new JButton(new ImageIcon("images/rond.jpg"));
private JButton boutonCarre = new JButton(new ImageIcon("images/carre.jpg"));
private JButton boutonRouge = new JButton(new ImageIcon("images/rouge.jpg"));
private JButton boutonVert = new JButton(new ImageIcon("images/vert.jpg"));
private JButton boutonBleu = new JButton(new ImageIcon("images/bleu.jpg"));
//*********************************************************************************************
//gestion des evenements
FormeListerner fl = new FormeListerner();
CouleurListener cl = new CouleurListener();
public Fenetre(){
initFenetre();
initMenu();
initToolBar();
this.conteneur.setLayout(bl);
conteneur.add(barreOutils, BorderLayout.NORTH);
conteneur.add(pan, BorderLayout.CENTER);
this.setContentPane(conteneur);
this.setJMenuBar(monMenu);
this.setVisible(true);
}
//initialisation de la fenetre
private void initFenetre(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(1024, 700);
this.setLocationRelativeTo(null);
this.setTitle("Ardoize Mazique");
this.setResizable(false);
}
//initialisation du menu
private void initMenu(){
couleurDuPointeur.add(couleurBleu);
couleurDuPointeur.add(couleurRouge);
couleurDuPointeur.add(couleurVert);
formeDuPointeur.add(pointeurRond);
formeDuPointeur.add(pointeurCarre);
edition.add(formeDuPointeur);
edition.add(couleurDuPointeur);
fichier.add(fichier_Effacer);
fichier.add(fichier_Quitter);
monMenu.add(fichier);
monMenu.add(edition);
fichier_Quitter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane jop = new JOptionPane();
int option = jop.showConfirmDialog(null, "Voulez-vous quitter l'application ?", "Quitter", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (option == JOptionPane.OK_OPTION)
System.exit(0);
}
});
fichier_Effacer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
pan.effacerEcran();
}
});
pointeurRond.addActionListener(fl);
pointeurCarre.addActionListener(fl);
couleurBleu.addActionListener(cl);
couleurVert.addActionListener(cl);
couleurRouge.addActionListener(cl);
}
private void initToolBar(){
barreOutils.add(boutonRond);
barreOutils.add(boutonCarre);
barreOutils.addSeparator();
barreOutils.add(boutonBleu);
barreOutils.add(boutonRouge);
barreOutils.add(boutonVert);
boutonBleu.addActionListener(cl);
boutonRouge.addActionListener(cl);
boutonVert.addActionListener(cl);
barreOutils.setVisible(true);
}
private class FormeListerner implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == pointeurRond){
Point pointPrime = pan.getPoint();
pointPrime.setForme("ROND");
pan.setPoint(pointPrime);
}
if(e.getSource() == pointeurCarre){
Point pointPrime = pan.getPoint();
pointPrime.setForme("CARRE");
pan.setPoint(pointPrime);
}
if(e.getSource() == boutonCarre)
pointeurCarre.doClick();
if(e.getSource() == boutonRond)
pointeurRond.doClick();
}
}
private class CouleurListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == couleurBleu){
Point pointPrime = pan.getPoint();
pointPrime.setCouleur(Color.BLUE);
pan.setPoint(pointPrime);
}
if(arg0.getSource() == couleurRouge){
Point pointPrime = pan.getPoint();
pointPrime.setCouleur(Color.RED);
pan.setPoint(pointPrime);
}if(arg0.getSource() == couleurVert){
Point pointPrime = pan.getPoint();
pointPrime.setCouleur(Color.GREEN);
pan.setPoint(pointPrime);
}
if(arg0.getSource() == boutonBleu)
couleurBleu.doClick();
if(arg0.getSource() == boutonRouge)
couleurRouge.doClick();
if(arg0.getSource() == boutonVert)
couleurVert.doClick();
}
}
}
|
Code : Java - Point.java 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 | import java.awt.Color;
public class Point {
private Color couleur = new Color(Color.OPAQUE);
private int taille;
private int posiX;
private int posiY;
private String forme = new String();
public Color getCouleur() {
return couleur;
}
public void setCouleur(Color couleur) {
this.couleur = couleur;
}
public int getTaille() {
return taille;
}
public void setTaille(int taille) {
this.taille = taille;
}
public int getPosiX() {
return posiX;
}
public void setPosiX(int posiX) {
this.posiX = posiX;
}
public int getPosiY() {
return posiY;
}
public void setPosiY(int posiY) {
this.posiY = posiY;
}
public void setForme(String forme) {
this.forme = forme;
}
public String getForme() {
return forme;
}
public Point(){
this.couleur = Color.BLUE;
this.taille = 10;
this.posiX = 50;
this.posiY = 50;
this.forme = "CARRE";
}
public Point(Color couleur, int taille, int posiX, int posiY, String forme){
this.couleur = couleur;
this.forme = forme;
this.taille = taille;
this.posiX = posiX;
this.posiY = posiY;
}
}
|
merci d'avance!
|

|
Yo. Réponse tardive mais réponse quand même.
Code : Java 1
2
3
4
5
6
7
8
9
10
11
12
13 | for(Point p : this.listPoints)
{
//On récupère la couleur
g.setColor(point.getCouleur());
//Selon le type de point
if(p.getForme().equals("CARRE")){
g.fillRect(p.getPosiX(), p.getPosiY(), p.getTaille(), p.getTaille());
}
else if(p.getForme().equals("ROND")){
g.fillOval(p.getPosiX(), p.getPosiY(), p.getTaille(), p.getTaille());
}
}
|
Remplacer :
Code : Java | g.setColor(point.getCouleur());
|
Par :
Code : Java | g.setColor(p.getCouleur());
|
A part ça, une remarque :
Code : Pascal 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == couleurBleu){
Point pointPrime = pan.getPoint();
pointPrime.setCouleur(Color.BLUE);
pan.setPoint(pointPrime);
}
if(arg0.getSource() == couleurRouge){
Point pointPrime = pan.getPoint();
pointPrime.setCouleur(Color.RED);
pan.setPoint(pointPrime);
}if(arg0.getSource() == couleurVert){
Point pointPrime = pan.getPoint();
pointPrime.setCouleur(Color.GREEN);
pan.setPoint(pointPrime);
}
if(arg0.getSource() == boutonBleu)
couleurBleu.doClick();
if(arg0.getSource() == boutonRouge)
couleurRouge.doClick();
if(arg0.getSource() == boutonVert)
couleurVert.doClick();
}
|
Ça pique moins les yeux comme ça :
Code : Java 1
2
3
4
5
6
7
8
9
10
11
12
13
14 | public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == couleurBleu)
pan.getPoint().setCouleur(Color.BLUE);
else if(arg0.getSource() == couleurRouge)
pan.getPoint().setCouleur(Color.RED);
else if(arg0.getSource() == couleurVert)
pan.getPoint().setCouleur(Color.GREEN);
else if(arg0.getSource() == boutonBleu)
pan.getPoint().setCouleur(Color.BLUE);
else if(arg0.getSource() == boutonRouge)
pan.getPoint().setCouleur(Color.RED);
else if(arg0.getSource() == boutonVert)
pan.getPoint().setCouleur(Color.GREEN);
}
|
Les objets sont retournés par référence. Tu n'as donc pas besoin de faire un setMachin par derrière :).
Autoproclamé ~Chevalier des Edits.
|