domingo, 26 de janeiro de 2014

Usando Grafos em Java

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:
  1. introdução aos grafos e criação da estrutura básica para a classe de Grafos
  2. codificação e teste da classe de grafos
  3. geração de um grafo usando Graphviz
Introdução aos Grafos - Parte 1 / 3

Introdução aos Grafos - Parte 2 / 3

Introdução aos Grafos - Parte 3 / 3

Visualizando graficamente um grafo


quinta-feira, 2 de janeiro de 2014

Usando Sockets para criar comunicação em Java - Parte 3 de 3

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.

quarta-feira, 1 de janeiro de 2014

Usando canvas (ou java.awt.Graphics) - Parte 5

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.