0
J'essaye de rendre un arc qui commence par le vert, passe au jaune et finalement au rouge. À l'heure actuelle, il ne fait que passer du vert au rouge en utilisant la méthode standard GradientPaint. Y at-il un moyen de le faire avec 3 couleurs?Comment rendre un arc avec un dégradé de 3 couleurs?
public void paintComponent(Graphics gr) {
super.paintComponent(gr);
Graphics2D g = (Graphics2D) gr;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
BasicStroke wideStroke = new BasicStroke(24.0f);
g.setStroke(wideStroke);
g.setPaint(new GradientPaint(new Point(10, 140), Color.GREEN, new Point(100, 10), Color.RED));
g.draw(new Arc2D.Double(25, 25, 200, 200, 180, -90, Arc2D.OPEN));
}
Vous pouvez utiliser un [ 'LinearGradientPaint'] (https://docs.oracle.com/javase/8/docs/api/java/awt/LinearGradientPaint. html) qui permet de multiples couleurs (et points), [par exemple] (https://stackoverflow.com/questions/12037321/no-repaint-while-resizing-when-using-setpaintgradient/12038987#12038987) et [exemple ] (https://stackoverflow.com/questions/44349038/java-swing-rainbow-border-for-a-jcomponent/44349617#44349617) et [exemple] (https://stackoverflow.com/questions/27641641/creating -a-jlabel-avec-un-gradient/27641940 # 27641940) – MadProgrammer
Cela a fonctionné parfait ly. Je vous remercie. – Gaud