Bonjour


J'enregistre des DrawLine de couleur dans une listeShape, mais comme y en a bcp, ça peut planter...
Voila, en fait il y a bcp bcp trop de drawline je peux en avoir 10 000, et je les enregistre tous dans une <List> Shape comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
// 2 conditions nécessaires à l'affichage la pause et le bouton refresh juin/07
if (app.getPanneauBoutons().getIsPause() && app.getFenetreGraphe().getEtatRafraichir())
{ 
  for(FormeColoree shape3  :  listeGraphique1) {
    //On dessine la forme
   shape3.dessiner(g2d);
}
  for(FormeColoree shape4  :  listeGraphique2) {
//On dessine la forme
	       shape4.dessiner(g2d);
	    		}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
g2d.drawLine(abcisseEnCours2-1+x, tab_coor[indiceTab2-(int)pas][i][0], abcisseEnCours2+x, tab_coor[indiceTab2][i][0]);
FormeColoree shape3 = new FormeColoree(new Line2D.Double(abcisseEnCours2-1+x, tab_coor[indiceTab2-(int)pas][i][0], abcisseEnCours2+x, tab_coor[indiceTab2][i][0]) , g2d.getColor());
listeGraphique1.add(shape3);
La c'est la definition des elements de type FormeColorée inspirée de Sinok
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
public class FormeColoree {
 
    private Shape shape;
    private Color color;
    /**
     * @param shape
     * @param color
     */
    public FormeColoree(Shape shape, Color color) {
        this.shape = shape;
        this.color = color;
    }
    /**
     * @return color
     */
    public Color getColor() {
        return color;
    }
    /**
     * @param color color à définir
     */
    public void setColor(Color color) {
        this.color = color;
    }
    /**
     * @return shape
     */
    public Shape getShape() {
        return shape;
    }
    /**
     * @param shape shape à définir
     */
    public void setShape(Shape shape) {
        this.shape = shape;
    }
 
    public void dessiner(Graphics2D g2d) {
        g2d.setPaint(color);
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.draw(shape);
    }
    public void addFormeEtCouleur(Graphics2D g2d, Shape s, Color c){
    	g2d.setPaint(color);
        g2d.draw(shape);
    }
Si j'ai une liste trop trop importante, le pb c 'est que l'affichage graphique decede trop longtemps puis rescusite ...


et D'un penser vous que GeneralPath me fera gagner du temps en concatenant tous les DrawLine ?

et de deux Si oui comment dois je m'y prendre par rapport à ma classe "FormeColoree" ?