Docstoc

Interface gráfica__1_

Document Sample
Interface gráfica__1_ Powered By Docstoc
					Inteligência Artificial

Reinaldo Bianchi FEI - Elétrica 2000

6a. Aula
Applets e Gráficos

Vimos na aula passada
  

Como reutilizar programas existentes? Composição Herança em Java:
– Conceitos básicos – Sintaxe – Exemplos



Polimorfismo

Nesta aula veremos:
  

Última aula de Java: Applets Gráficos

Applets


Objetivo:
– Criar uma Interface Gráfica que funcione em qualquer sistema operacional



Problemas:
– Tem que ser simples (para funcionar em qualquer lugar). – Não é totalmente orientada a objetos. – Existem 2 tipos diferentes.

Applets (II)


 

Um applet criado pelo usuário é uma extensão da classe Applet definida pela linguagem Java. Diversos métodos são Herdados. Um applet ocupa uma área gráfica de tamanho definido: ele só pode trabalhar nessa área.

Métodos Básicos






Chamado quando o Applet é criado. Funciona como um construtor. destroy(): Chamado quando o Applet está sendo terminado. Funciona como o finalize(). paint(): Chamado toda vez que é necessário atualizar a área que o Applet ocupa.

init():

Métodos Básicos (II)




stop(): Chamado quando o Applet é movido para fora da área visível do Browser, para economizar processamento. Também é chamado antes do destroy(). start(): Chamado quando o Applet se move para a área visível. Permite retomar sua operação normal depois de um stop().

Applet Básico: OlaApplet.java
import java.applet.Applet; import java.awt.Graphics;
public class OlaApplet extends Applet { public void init(){ System.out.println("Applet Ini.\n"); } public void paint (Graphics g){ g.drawString ("Ola mundo!", 5, 5); } }

Detalhes:


public void init ()
– usou init() para imprimir uma mensagem.



public void paint (Graphics g)
– Recebe um ponteiro para a área gráfica que pode usar: Graphics g



g.drawString ("Ola mundo!", 20, 20);
– desenha uma string na posição 20, 20 – é um entre diversos métodos existentes para gerar gráficos.

Paginas Web para os Applets




Applets são executados a partir de páginas HTML. É necessário adicionar um código HTML na página, para esta chamar o Applet.

Código HTML para chamar um Applet
<APPLET CODEBASE CODE WIDTH HEIGHT HSPACE VSPACE ALIGN > </APPLET>
= = = = = = = "." "OlaApplet.class" 100 100 0 0 middle

Como executar
 

 

Compilar o OlaApplet.java no JBuilder. Copiar o OlaApplet.class para o mesmo diretório onde se encontra o OlaApplet.html Abrir OlaApplet.html no Netscape. Para ver as mensagens System.out.* abrir o Java Console:
– Communicator/Tools/Java Console

Notas e Dicas








Applets não possuem um método main(), mas sim um init(). Podemos porém chamar diretamente o método paint(). Nunca coloque ele dentro de um package. Applets demoram mais para serem carregados pelo Browser: não abuse deles.

Adicionando Botões




Os Applets podem ter textos, botões, labels, ... O próprio Java cuida do Layout em que estes componentes aparecerão.
Como realizar uma ação quando o botão é apertado?



Capturando um evento e Realizando uma ação




Eventos que acontecem no applet ( apertar de botão, ...) são capturadas pelo método action(). Este método possui 2 argumentos:
– Event: o evento que disparou esta ação – Target: o alvo do evento, que não é usado.



Todas as ações que o applet pode fazer são definidas aqui, dentro de um if encadeado.

Ver exemplo BotoesApplet.java


No método init():
– add() - adiciona o componente ao applet. É um método da classe Applet.



No método action():
– if (e.target.equals(b1)): Define a ação a ser feita caso o alvo do evento tenha sido o botão 1. – else return super.action(e, obj): chama o método action default da classe Applet.

Botões e Caixas de Texto


Ver exemplo TextoeBotoesApplet.java
Exercício:
– Implemente um Applet calculadora...



Java 2 - SWING


Existem 3 tipos de Applets: AWT 1.0, AWT 1.1 e Swing:
– AWT 1.0 é mais antigo, não é Orientado a Objetos – AWT 1.1: melhorzinho... – Swing (Java2) é incompatível com Programas e Browsers desatualizados. (Não roda no JBuilder 3.0)



Applet Swing é exatamente igual a um programa independente.

Applet SWING Básico (AppletSwing.java)
import javax.swing.*; import java.awt.*;
public class AppletSwing extends JApplet { JLabel jLabel1 = new JLabel("Applet!"); public void init() { getContentPane().add(jLabel1); } }

Outros exemplos Swing
 

Ver Label1.java Ver Button2.java Conclusão: Ainda não dá para usar applets Swing para distribuição.



Funções Gráficas Java




Como o applet é uma área gráfica, podemos utilizar qualquer função gráfica existente em Java. Exemplos:
– g.drawString ("Ola mundo!", 20, 20); – g.draw3DRect(5,5,90, 90, true); – g.setColor(Color.cyan); – g.drawOval(70,70,20, 10); – g.fillOval(15, 80, 5,5);

Exercício Gráfico


Defina uma hierarquia para objetos gráficos:
– Círculo – Triângulo – Quadrado





Estes objetos devem possuir um método desenhe. Implemente um applet que utilize objetos destas classes.


				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:58
posted:11/18/2009
language:Portuguese
pages:23