Este post na verdade é composto por diversos vídeos em função da complexidade do assunto. Vamos tratar basicamente em como criar uma classe genérica capaz de armazenar o grafo e realizar buscas.
As partes são:
introdução aos grafos e criação da estrutura básica para a classe de Grafos
Continuando nosso post anterior, apresentamos o último de nossa série de 3 posts sobre sockets. Mostramos anteriormente uma aplicação cliente/servidor usando TCP e neste post apresentaremos uma aplicação com UDP.
Agora temos uma base para brincar um pouquinho. Vamos aproveitar e conhecer algumas outras classes em java.awt.geom. Estas classes permitem gerar diversas figuras geométricas. Notem que sempre existe uma classe abstrata que possui factories denominadas .Double e .Float que geram o que desejamos:
Arc2D: cria um arco
Arc2D.Double
Arc2D.Float
CubicCurve2D: cria uma curva
CubicCurve2D.Double
CubicCurve2D.Float
Ellipse2D: cria uma elipse (se os raios forem diferentes) ou um círculo se os raios forem iguais
Ellipse2D.Double
Ellipse2D.Float
Line2D: cria uma linha
Line2D.Double
Line2D.Float
Path2D: define um caminho geométrico dado pelas coordenadas
Path2D.Double
Path2D.Float
Point2D: cria um ponto (x,y)
Point2D.Double
Point2D.Float
QuadCurve2D: cria uma curva paramétrica quadrática
QuadCurve2D.Double
QuadCurve2D.Float
Rectangle2D: cria um retângulo
Rectangle2D.Double
Rectangle2D.Float
RoundRectangle2D: cria um retângulo com bordas arredondadas
RoundRectangle2D.Double
RoundRectangle2D.Float
Assim para criar uma linha, você não pode utilizar Line2D. Deve utilizar Line2D.Double ou Line2D.Float. Vamos ver isto no post. Como vídeo é um pouco grande, o post foi dividido em duas partes, a primeira mostra todo a criação de um desenho de um carrinho (daqueles de pré-primário) e o segundo mostra como animar (isto é, fazer com que o carro ande na janela) e como colocar uma imagem na tela e também usar o mesmo recurso de animação.