Ola galera, estou fazendo uma interface grafica , bastante simples, para mostrar o funcionamento do algoritmo de maneira mais intuitiva, entretanto, preciso saber se tem como eu desenhar os vertices de forma que eles fiquem desenhado de maneira circular, exemplo, cada vertice é um circulo, quero que esses proprios circulos forme um circulo, preciso fazer para que não haja sobreposição de um vertice. Uma das alternativas seria essa, outra seria a cada 3 vertices, pular um tanto de pixel no eixo Y, entretanto, quando tiver uma aresta conectando dois vertices que estao dentro da mesma linha, passara a linha por dentro de um vertice que não esta conectado com ela. Outra duvida, como meu grafo é orientado, como faço para desenhar uma reta com a ponta de uma seta? Enfim, classe do meu painel,
public void paintComponent(Graphics g){
dsa = ListaAdjacencia.vectorVertice.getPrimeiro();
xxs = ListaAdjacencia.vectorAresta.getPrimeiro();
super.paintComponent(g);
while(dsa != null){
g.drawOval(dsa.getVertice().getXx(), dsa.getVertice().getYy(), 30, 30);
g.drawString(dsa.getVertice().getDado(), dsa.getVertice().getXx()+13, dsa.getVertice().getYy()+18);
dsa = dsa.getProximo();
}
while(xxs != null){
g.drawLine(xxs.getChegada().getXx(),xxs.getChegada().getYy(),xxs.getSaida().getXx(),xxs.getSaida().getYy());
xxs = xxs.getProximo();
}
}