Pergunta

Estou enfrentando um problema ao usar o Jung. Quero desenhar um diagrama de rede, onde os vértices terão diferentes formas, cores e bordas serão tracejadas ou linhas completas em cores diferentes.

Como sou um novato em Java, não consigo entender a arquitetura real de Jung. Quando uso o setVertexFillPaintTransformer, ele coloria todos os vértices com a mesma cor. Os vértices são armazenados em uma matriz inteira. Estou batendo a cabeça há uma semana agora. Por favor, se alguém pode me ajudar ou tiver algumas perguntas, faça -me

Foi útil?

Solução

O método setVertexFillPaintTransformer leva um transformador que converte uma vértice em uma cor. Portanto, para ter cores diferentes para vértices diferentes, você precisa inspecionar o vértice. O parâmetro, eu no método Transformação pública de tinta (número inteiro i) é o vértice, então você pode fornecer uma cor baseada nos vértices (ou eu). Por exemplo, se eu tivesse um gráfico onde os vértices eram um Inteiro, Eu poderia andar de bicicleta atribuir três cores diferentes aos vértices, fornecendo o seguinte transformador para setVertexFillPaintTransformer:

Transformer<Integer, Paint> vertexPaint = new Transformer<Integer, Paint>() {
    private final Color[] palette = {Color.GREEN, Color.BLUE, Color.RED}; 

    public Paint transform(Integer i) {
        return palette[i.intValue() % palette.length];
    }
};
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top