Programação e Estruturas de Dados - Lic. Design e Multimédia

254 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
254
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Programação e Estruturas de Dados - Lic. Design e Multimédia

  1. 1. Java Gráficos em 2D Amílcar Cardoso Dep. Engª. Informática Universidade de Coimbra http://www.dei.uc.pt/amilcar amilcar@dei.uc.pt© Amílcar Cardoso, 2012
  2. 2. Aplicações versus Applets  Aplicação  Pode ser executada autonomamente  Applet  Tem que ser executada num Browser ou num “Applet viewer”  Para integrar numa página HTML: HTML:<TITLE>Applet title</TITLE> <APPLET CODE=Nome.class WIDTH=100 HEIGHT=100> </APPLET> Tutorial interessante: http://www.dgp.toronto.edu/~mjmcguff/learn/java/ Programação e Estruturas de Dado 2© Amílcar Cardoso, 2012
  3. 3. Ecrã gráfico  Coordenadas: x (0, 0) y Em Java: g.drawLine(10, 50, 35, 80); Comando (método): ...entre o ...e o ponto (35, 80) desenhar uma linha... ponto (10, 50)... Programação e Estruturas de Dado 3© Amílcar Cardoso, 2012
  4. 4. Desenho numa Applet import java.awt.*; Importar bibliotecas import java.applet.Applet; classe “linha” é sub-classe public class linha extends Applet { de Applet public void paint (Graphics g) { g.drawLine (0,0,100,100); Desenha uma linha entre } os pontos (0,0) e (100,100) } g representa a área de desenho Numa Applet para desenho, a execução começa no método paint Programação e Estruturas de Dado 4© Amílcar Cardoso, 2012
  5. 5. Classe Graphics  Permite definir Objetos Gráficos  Principais atributos descrevem:  cor de fundo  cor do bordo  fonte para texto  translação  Objeto onde é feito o desenho Programação e Estruturas de Dado 5© Amílcar Cardoso, 2012
  6. 6. Alguns métodos gráficos retângulo oval g. drawRect(15, 15, 40, 30); g. drawOval(15, 15, 40, 30); linha retângulo arredondadog.drawLine(15, 10, 36, 40); g. drawRoundRect(15, 15, 40, 30, 5, 5); Programação e Estruturas de Dado 6© Amílcar Cardoso, 2012
  7. 7. Mais métodos gráficos  drawArc (int x, int y, int w, int h, int st, int arc)  Ex.: g.drawArc (10, 20, 60, 50, -45, 90);  drawString (String s, int x, int y)  Ex.: g.drawString ("Olá!", 10, 40);  setColor (Color c)  Ex.: g.setColor (Color.blue);  Cores pré-definidas: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow Programação e Estruturas de Dado 7© Amílcar Cardoso, 2012
  8. 8. Alguns métodos gráficos  fillRect (int x, int y, int w, int h)  fillOval (int x, int y, int w, int h)  fillArc (int x, int y, int w, int h, int st, int arc)  Ex.: g.setColor (Color.yellow); g.fillRect (10, 20, 90, 50); g.setColor (Color.black); g.drawRect (10, 20, 90, 50); (10, 20) 50 90 Programação e Estruturas de Dado 8© Amílcar Cardoso, 2012
  9. 9. Dimensão da janela  Para se definir a dimensão da janela da Applet: int apWidth=200, apHeight=200; public void paint(Graphics g) { this.setSize(apWidth, apHeight); (...) método da classe Applet Programação e Estruturas de Dado 9© Amílcar Cardoso, 2012
  10. 10. Dimensão da janela  Para se obter a dimensão da janela da Applet: this: classe a que pertence o método que está a correr public void paint(Graphics g) { (a Applet) Dimension appletSize = this.getSize(); int appletHeight = appletSize.height; getSize é um método da Applet int appletWidth = appletSize.width;Objeto appletSize da classe Dimension (...) height e width são dois atributos do objeto appletSize Programação e Estruturas de Dado 10© Amílcar Cardoso, 2012
  11. 11. Exemplo  Desenhar esta figura: 50 100 150 50 100 150 Programação e Estruturas de Dado 11© Amílcar Cardoso, 2012
  12. 12. Código public class Figura extends Applet { int apWidth=200, apHeight=200; public void paint(Graphics g) { this.setSize(apWidth, apHeight); g.setColor(cinza1); Color cinza1 = new Color(200,200,200); g.fillOval(0,0,200,200); Color cinza2 = new Color(150,150,150); g.setColor(cinza2); Color cinza3 = new Color(100,100,100); g.fillOval(0,0,150,150); Color cinza4 = new Color(60,60,60); g.setColor(cinza3); g.fillOval(0,0,100,100); g.setColor(cinza4); g.fillOval(0,0,50,50); } Programação e Estruturas de Dado 12© Amílcar Cardoso, 2012

×