Inteligência Artificial Reinaldo Bianchi FEI - Elétrica 2000
6a. Aula Applets e Gráficos
Vimos na aula passada <ul><li>Como reutilizar programas existentes? </li></ul><ul><li>Composição  </li></ul><ul><li>Heranç...
Nesta aula veremos: <ul><li>Última aula de Java: </li></ul><ul><li>Applets </li></ul><ul><li>Gráficos </li></ul>
Applets <ul><li>Objetivo: </li></ul><ul><ul><li>Criar uma Interface Gráfica que funcione em qualquer sistema operacional <...
Applets (II) <ul><li>Um applet criado pelo usuário é uma extensão da classe Applet definida pela linguagem Java. </li></ul...
Métodos Básicos <ul><li>init(): Chamado quando o Applet é  criado. Funciona como um  construtor. </li></ul><ul><li>destroy...
Métodos Básicos (II) <ul><li>stop(): Chamado quando o Applet é  movido para fora da área visível do Browser, para  economi...
Applet Básico: OlaApplet.java <ul><li>import java.applet.Applet; </li></ul><ul><li>import java.awt.Graphics; </li></ul><ul...
Detalhes: <ul><li>public void init () </li></ul><ul><ul><li>usou init() para imprimir uma mensagem. </li></ul></ul><ul><li...
Paginas Web para os Applets <ul><li>Applets são executados a partir de páginas HTML.  </li></ul><ul><li>É necessário adici...
Código HTML para chamar um Applet <ul><li><APPLET </li></ul><ul><li>CODEBASE = &quot;.&quot; </li></ul><ul><li>CODE  = &qu...
Como executar <ul><li>Compilar o OlaApplet.java no JBuilder. </li></ul><ul><li>Copiar o OlaApplet.class para o mesmo diret...
Notas e Dicas <ul><li>Applets não possuem um método main(), mas sim um init(). </li></ul><ul><li>Podemos porém chamar dire...
Adicionando Botões <ul><li>Os Applets podem ter textos, botões, labels, ... </li></ul><ul><li>O próprio Java cuida do Layo...
Capturando um evento e Realizando uma ação  <ul><li>Eventos que acontecem no applet ( apertar de botão, ...) são capturada...
Ver exemplo BotoesApplet.java  <ul><li>No método init(): </li></ul><ul><ul><li>add() - adiciona o componente ao applet. É ...
Botões e Caixas de Texto <ul><li>Ver exemplo TextoeBotoesApplet.java </li></ul><ul><li>Exercício: </li></ul><ul><ul><li>Im...
Java 2 - SWING <ul><li>Existem 3 tipos de Applets: AWT 1.0, AWT 1.1 e Swing: </li></ul><ul><ul><li>AWT 1.0 é mais antigo, ...
Applet SWING Básico (AppletSwing.java) <ul><li>import javax.swing.*; </li></ul><ul><li>import java.awt.*; </li></ul><ul><l...
Outros exemplos Swing <ul><li>Ver Label1.java </li></ul><ul><li>Ver Button2.java </li></ul><ul><li>Conclusão: Ainda não dá...
Funções Gráficas Java <ul><li>Como o applet é uma área gráfica, podemos utilizar qualquer função gráfica existente em Java...
Exercício Gráfico <ul><li>Defina uma hierarquia para objetos gráficos: </li></ul><ul><ul><li>Círculo </li></ul></ul><ul><u...
Próximos SlideShares
Carregando em…5
×

http://www.dm.ufscar.br/~waldeck/curso/java/

1.379 visualizações

Publicada em

http://www.dm.ufscar.br/~waldeck/curso/java/

Publicada em: Tecnologia
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
1.379
No SlideShare
0
A partir de incorporações
0
Número de incorporações
39
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

http://www.dm.ufscar.br/~waldeck/curso/java/

  1. 1. Inteligência Artificial Reinaldo Bianchi FEI - Elétrica 2000
  2. 2. 6a. Aula Applets e Gráficos
  3. 3. Vimos na aula passada <ul><li>Como reutilizar programas existentes? </li></ul><ul><li>Composição </li></ul><ul><li>Herança em Java: </li></ul><ul><ul><li>Conceitos básicos </li></ul></ul><ul><ul><li>Sintaxe </li></ul></ul><ul><ul><li>Exemplos </li></ul></ul><ul><li>Polimorfismo </li></ul>
  4. 4. Nesta aula veremos: <ul><li>Última aula de Java: </li></ul><ul><li>Applets </li></ul><ul><li>Gráficos </li></ul>
  5. 5. Applets <ul><li>Objetivo: </li></ul><ul><ul><li>Criar uma Interface Gráfica que funcione em qualquer sistema operacional </li></ul></ul><ul><li>Problemas: </li></ul><ul><ul><li>Tem que ser simples (para funcionar em qualquer lugar). </li></ul></ul><ul><ul><li>Não é totalmente orientada a objetos. </li></ul></ul><ul><ul><li>Existem 2 tipos diferentes. </li></ul></ul>
  6. 6. Applets (II) <ul><li>Um applet criado pelo usuário é uma extensão da classe Applet definida pela linguagem Java. </li></ul><ul><li>Diversos métodos são Herdados. </li></ul><ul><li>Um applet ocupa uma área gráfica de tamanho definido: ele só pode trabalhar nessa área. </li></ul>
  7. 7. Métodos Básicos <ul><li>init(): Chamado quando o Applet é criado. Funciona como um construtor. </li></ul><ul><li>destroy(): Chamado quando o Applet está sendo terminado. Funciona como o finalize(). </li></ul><ul><li>paint(): Chamado toda vez que é necessário atualizar a área que o Applet ocupa. </li></ul>
  8. 8. Métodos Básicos (II) <ul><li>stop(): Chamado quando o Applet é movido para fora da área visível do Browser, para economizar processamento. Também é chamado antes do destroy(). </li></ul><ul><li>start(): Chamado quando o Applet se move para a área visível. Permite retomar sua operação normal depois de um stop(). </li></ul>
  9. 9. Applet Básico: OlaApplet.java <ul><li>import java.applet.Applet; </li></ul><ul><li>import java.awt.Graphics; </li></ul><ul><li>public class OlaApplet extends Applet </li></ul><ul><li>{ </li></ul><ul><li>public void init(){ </li></ul><ul><li>System.out.println(&quot;Applet Ini. &quot;); </li></ul><ul><li>} </li></ul><ul><li>public void paint (Graphics g){ </li></ul><ul><li>g.drawString (&quot;Ola mundo!&quot;, 5, 5); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  10. 10. Detalhes: <ul><li>public void init () </li></ul><ul><ul><li>usou init() para imprimir uma mensagem. </li></ul></ul><ul><li>public void paint (Graphics g) </li></ul><ul><ul><li>Recebe um ponteiro para a área gráfica que pode usar: Graphics g </li></ul></ul><ul><li>g.drawString (&quot;Ola mundo!&quot;, 20, 20); </li></ul><ul><ul><li>desenha uma string na posição 20, 20 </li></ul></ul><ul><ul><li>é um entre diversos métodos existentes para gerar gráficos. </li></ul></ul>
  11. 11. Paginas Web para os Applets <ul><li>Applets são executados a partir de páginas HTML. </li></ul><ul><li>É necessário adicionar um código HTML na página, para esta chamar o Applet. </li></ul>
  12. 12. Código HTML para chamar um Applet <ul><li><APPLET </li></ul><ul><li>CODEBASE = &quot;.&quot; </li></ul><ul><li>CODE = &quot;OlaApplet.class&quot; </li></ul><ul><li>WIDTH = 100 </li></ul><ul><li>HEIGHT = 100 </li></ul><ul><li>HSPACE = 0 </li></ul><ul><li>VSPACE = 0 </li></ul><ul><li>ALIGN = middle </li></ul><ul><li>> </li></ul><ul><li></APPLET> </li></ul>
  13. 13. Como executar <ul><li>Compilar o OlaApplet.java no JBuilder. </li></ul><ul><li>Copiar o OlaApplet.class para o mesmo diretório onde se encontra o OlaApplet.html </li></ul><ul><li>Abrir OlaApplet.html no Netscape. </li></ul><ul><li>Para ver as mensagens System.out.* abrir o Java Console: </li></ul><ul><ul><li>Communicator/Tools/Java Console </li></ul></ul>
  14. 14. Notas e Dicas <ul><li>Applets não possuem um método main(), mas sim um init(). </li></ul><ul><li>Podemos porém chamar diretamente o método paint(). </li></ul><ul><li>Nunca coloque ele dentro de um package. </li></ul><ul><li>Applets demoram mais para serem carregados pelo Browser: não abuse deles. </li></ul>
  15. 15. Adicionando Botões <ul><li>Os Applets podem ter textos, botões, labels, ... </li></ul><ul><li>O próprio Java cuida do Layout em que estes componentes aparecerão. </li></ul><ul><li>Como realizar uma ação quando o botão é apertado? </li></ul>
  16. 16. Capturando um evento e Realizando uma ação <ul><li>Eventos que acontecem no applet ( apertar de botão, ...) são capturadas pelo método action() . </li></ul><ul><li>Este método possui 2 argumentos: </li></ul><ul><ul><li>Event: o evento que disparou esta ação </li></ul></ul><ul><ul><li>Target: o alvo do evento, que não é usado. </li></ul></ul><ul><li>Todas as ações que o applet pode fazer são definidas aqui, dentro de um if encadeado. </li></ul>
  17. 17. Ver exemplo BotoesApplet.java <ul><li>No método init(): </li></ul><ul><ul><li>add() - adiciona o componente ao applet. É um método da classe Applet. </li></ul></ul><ul><li>No método action(): </li></ul><ul><ul><li>if (e.target.equals(b1)): Define a ação a ser feita caso o alvo do evento tenha sido o botão 1. </li></ul></ul><ul><ul><li>else return super.action(e, obj): chama o método action default da classe Applet. </li></ul></ul>
  18. 18. Botões e Caixas de Texto <ul><li>Ver exemplo TextoeBotoesApplet.java </li></ul><ul><li>Exercício: </li></ul><ul><ul><li>Implemente um Applet calculadora... </li></ul></ul>
  19. 19. Java 2 - SWING <ul><li>Existem 3 tipos de Applets: AWT 1.0, AWT 1.1 e Swing: </li></ul><ul><ul><li>AWT 1.0 é mais antigo, não é Orientado a Objetos </li></ul></ul><ul><ul><li>AWT 1.1: melhorzinho... </li></ul></ul><ul><ul><li>Swing (Java2) é incompatível com Programas e Browsers desatualizados. (Não roda no JBuilder 3.0) </li></ul></ul><ul><li>Applet Swing é exatamente igual a um programa independente. </li></ul>
  20. 20. Applet SWING Básico (AppletSwing.java) <ul><li>import javax.swing.*; </li></ul><ul><li>import java.awt.*; </li></ul><ul><li>public class AppletSwing extends JApplet { </li></ul><ul><li>JLabel jLabel1 = new JLabel(&quot;Applet!&quot;); </li></ul><ul><li>public void init() { </li></ul><ul><li>getContentPane().add(jLabel1); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  21. 21. Outros exemplos Swing <ul><li>Ver Label1.java </li></ul><ul><li>Ver Button2.java </li></ul><ul><li>Conclusão: Ainda não dá para usar applets Swing para distribuição. </li></ul>
  22. 22. Funções Gráficas Java <ul><li>Como o applet é uma área gráfica, podemos utilizar qualquer função gráfica existente em Java. </li></ul><ul><li>Exemplos: </li></ul><ul><ul><li>g.drawString (&quot;Ola mundo!&quot;, 20, 20); </li></ul></ul><ul><ul><li>g.draw3DRect(5,5,90, 90, true); </li></ul></ul><ul><ul><li>g.setColor(Color.cyan); </li></ul></ul><ul><ul><li>g.drawOval(70,70,20, 10); </li></ul></ul><ul><ul><li>g.fillOval(15, 80, 5,5); </li></ul></ul>
  23. 23. Exercício Gráfico <ul><li>Defina uma hierarquia para objetos gráficos: </li></ul><ul><ul><li>Círculo </li></ul></ul><ul><ul><li>Triângulo </li></ul></ul><ul><ul><li>Quadrado </li></ul></ul><ul><li>Estes objetos devem possuir um método desenhe. </li></ul><ul><li>Implemente um applet que utilize objetos destas classes. </li></ul>

×