Diferente color para aristas y fondo de un polygon dentro de un panel

Iniciado por SDCC, 23 Noviembre 2018, 01:57 AM

0 Miembros y 1 Visitante están viendo este tema.

SDCC

Buenas tardes,dias o noches,estoy haciendo un programita en el cual me he topado con un detalle a la hora de intentar dibujar un polygon en una JPanel en el cual quiero que el color de sus aristas sea totalmente configurable al igual que su fondo.He realizado un intento con el siguiente segmento de codigo:

Código (java) [Seleccionar]

//Coloca color de arista y dibuja figura
               g.setColor(Color.BLACK);
               g.drawPolygon(figura);
//Coloca color de fondo y rellena la figura
               g.setColor(Color.WHITE);
               g.fillPolygon(figura);


Nota.Para no extender mas el codigo la variable figura es de tipo Polygon.

El anterior codigo tambien lo he adaptado de manera muy similar para figuras sin vertices como un circulo.

Código (java) [Seleccionar]


g.setColor(figu.getColorArista());
               g.drawOval(figu.getCentro().x-radio,figu.getCentro().y-radio,radio*2,radio*2);
               g.setColor(figu.getColorFondo());
               g.fillOval(figu.getCentro().x-radio,figu.getCentro().y-radio,radio*2,radio*2);




Sin extender aún mas el programa....Mis resultados no han sido del todo buenos consiguiendo como resultado algo como lo siguiente:



Como se puede observar realmente se ve el cambio de color solo en ciertas orillas de la figura, esto depende de la forma de la figura.He pensado en hacer toda la figura del mismo color y despues simplemente trazar unas lineas que unieran todos los vertices con el color de las aristas de manera que se sobrepongan a la orilla de la figura.Les agradeceria si me compartieran una forma mas formal u otra forma distinta a la planteada que me pudiera dar solucion a este problema,gracias.

SDCC

Al parecer la unica solucion(bastante seniclla por cierto) que encontre fue simplemente invertir el orden en que hago las cosas.Primero relleno la zona que va estar conformada por la figura y posterior a eso dibujo el polygono.