Cómo cambiar el color y el trazo de un tipo de bordes

Tengo un Graph< Potter, Edge> g donde Edges pertenece a tres clases diferentes que extienden la clase Edge (lo uso para representar diferentes tipos de interacciones, como comenzar a relacionarse, pedir consejos, etc.). Me gustaría colorear los bordes de acuerdo con lo que representan, como que todos los bordes de los padres se vuelvan verdes y no muestren flechas. Tengo este transformador para cambiar de color, pero parece que cambia de color en todos los bordes:

Transformer<Edge, Paint> parental_color_yes = new Transformer<Edge, Paint>() {
        @Override
        public Paint transform(Edge s) {
            return Color.GREEN;
        }
    };

Si cambio el tipo de transformador a Transformer< Parental, Paint>, entonces mi VisualizationViewer< Potter, Edge> vv se queja de que no puede aceptar dicho transformador... ¿debería agregar un nuevo visor de visualización? o hay algo mal en el transformador?

EDITADO después de la respuesta:

 parental_color_yes = new Transformer<Edge, Paint>() {
        @Override
        public Paint transform(Edge s) {
            if (s instanceof Parental){
                return Color.GREEN;
            } else if (s instanceof Innovation) {
                return Color.RED;
            } else {
                return Color.BLACK;
            }
        }
    };

¡Gracias por la ayuda!

Un saludo Simone

preguntado el 03 de diciembre de 13 a las 13:12

1 Respuestas

Tiene que ser un transformador de pintura de borde. Dentro del método transform, use una instancia de verificación para ver qué color devolver.

Respondido el 04 de diciembre de 13 a las 04:12

Gracias, acabo de editar la pregunta para agregar su respuesta ... solo una última pista, ¿dónde debo buscar para ocultar las flechas o colorearlas? - user299791

Para colorear las flechas: setArrow{Draw,Fill}PaintTransformer; para ocultarlos, establezca EdgeArrowPredicate. Recomiendo mirar (Pluggable)RenderContext y PluggableRenderDemo para comprender las capacidades del sistema y cómo usarlas. - Joshua O'Madadhain

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.