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); }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 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);
Si j'ai une liste trop trop importante, le pb c 'est que l'affichage graphique decede trop longtemps puis rescusite ...
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); }
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" ?
Partager