Pergunta

Eu uso Jung para desenhar gráficos. Abaixo está um gráfico simples com layout de árvore que parece bem. Todos os prestadores e transformadores são padrão.

texto alt http://czuk.eu/stackoverflow/ballon_layout_default_size.png

Agora, eu mudei o tamanho padrão dos nós para 100px definindo um VertexShapeTransformer personalizado. O problema é que os nós começaram a sobreposição. Aqui você pode ver como fica:

texto alt http://czuk.eu/stackoverflow/ballon_layout_size_100px.png

É possível se livrar do vértice sobreposição? É uma questão de disposição ou algum tipo de forma de transformação?

Agradecemos antecipadamente para quaisquer sugestões: -)

Foi útil?

Solução

Depois de não tão longa investigação, descobri que existem atributos responsável pela definição das distâncias mínimas entre vértices dois estática. Estes são TreeLayout.DEFAULT_DISTX e TreeLayout.DEFAULT_DISTY. Infelizmente, esses atributos definir uma distância mínima fixada entre vértices mas não consideram o tamanho real de cada vértice que podem ser diferentes. O cenário é válido para o TreeLayout eo BalloonLayout que estende a TreeLayout.

Eu também tenta outro layout, mas eu não poderia encontrar uma solução analógica. Esta questão é para uma outra questão; -)

Outras dicas

Quando você cria um TreeLayout você pode especificar o TreeLayout.DEFAULT_DISTX e TreeLayout.DEFAULT_DISTY no construtor:

TreeLayout treeLayout = new TreeLayout<String,Integer>(graph,100,100);

Talvez você precisa colocar uma distância maior entre os nós? Você começou com uma certa distância com um certo nós tamanho. Quando aumentou o tamanho do nó que reduziu o espaço entre eles, para compensar necessidades distância extra para ser colocado entre os nós para mantê-los de sobreposição.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top