waldeck/curso/java
-
Upload
rodrigo-vieira -
Category
Technology
-
view
1.205 -
download
0
description
Transcript of waldeck/curso/java
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
■ init(): 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.
Métodos Básicos (II)
■ stop(): Chamado quando o Applet é movido para fora da áreavisí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 = "OlaApplet.class" WIDTH = 100 HEIGHT = 100 HSPACE = 0 VSPACE = 0 ALIGN = middle></APPLET>
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.