Ce que je cherche à faire est de dessiner un polygone incomplet en utilisant Java. J'ai compris comment dessiner seulement le polygone en un coup, ou même remplir le polygone. Je peux également dessiner le polygone incomplet en utilisant des segments de ligne, mais le problème est que le BasicStroke.JOIN_BEVEL
ne s'applique pas aux segments de ligne. Voici comment je le fais avec les segments de ligne:Comment dessiner un polygone incomplet en utilisant Java
//polygon is not Java's Polygon, my own implementation, and the methods do as
//they imply
for(int i = 0; i < polygon.getNumberOfPoints(); i++){
Point2D.Double first = polygon.getPoint(i);
Point2D.Double second = new Point2D.Double();
if(polygon.getPoint(i+1) != null){
second = polygon.getPoint(i+1);
trans1 = /* some graphic translation of first */
trans2 = /* some graphic translation of second */
g.setColor(polygon.getColor());
g.setStroke(new BasicStroke(polygon.getWeight(), BasicStroke.JOIN_BEVEL, BasicStroke.CAP_BUTT));
g.draw(new Line2D.Double(trans1[0], trans1[1], trans2[0], trans2[1]));
}
}
cela fonctionne très bien, mais ce que je ne travaillerais pas exactement comme à. Le g.setStroke(/*stuff here*/);
n'a aucun effet sur les articulations.
J'ai essayé d'utiliser Path2D.Double, mais le problème est que la dernière extrémité du polygone suivra ma souris depuis le dernier endroit où j'ai cliqué, et même en utilisant le Path2D.Double, il a semblé réagir de la même manière que le dessin le polygone avec le premier et le dernier point n'étant pas égaux, java dessine une lingue entre eux de toute façon. Je vais essayer à nouveau et voir si j'ai regardé quelque chose. – heater