A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

JAVA Linguagem orientada por objectos

Apresentações semelhantes


Apresentação em tema: "JAVA Linguagem orientada por objectos"— Transcrição da apresentação:

1 JAVA Linguagem orientada por objectos
(similar ao C++ mas mais simples) Utilizada para desenvolvimento de aplicações stand-alone, applets,… Desenvolvida pela Sun Microsystems A Sun desenvolveu um browser específico para Java: HotJava O Netscape Navigator 2.0 passou a suportar Java (outros browsers passaram de igual modo a suportar Java) Java Introdução (c)AB,2000

2 JAVA Ambientes de desenvolvimento Exemplos
Java Development Kit (JDK) - SUN Desenvolvido pela SUN Contém (entre outros): Bibliotecas de classes pré-definidas (JFC - Java Foundation Classes) Compilador (javac) Interpretador (java) Ferramenta de documentação (javadoc) Visual J++ (Microsoft) Forte/NetBeans (Sun) Jbuilder (Borland) Visual Cafe (Symantec) Java Introdução (c)AB,2000

3 JAVA Applet Aplicação Java que pode ser incorporada em páginas HTML
A utilização de uma applet num ficheiro HTML é efectuada através da marca <APPLET> Nota: no HTML 4.0 a marca <APPLET> está a ser substituída pela marca <OBJECT> que serve para qualquer objecto. Os parâmetros a usar são os mesmos, no entanto não existe uma grande generalização a nível de programação para concretizar esta nova recomendação... Java Introdução (c)AB,2000

4 JAVA Applet A utilização de uma applet num ficheiro HTML é efectuada
através da marca <APPLET> Exemplo: <APPLET CODE=“Exemplo.class” WIDTH=100 HEIGHT=50> </APPLET> Java Introdução (c)AB,2000

5 JAVA <APPLET> Applet Atributos obrigatórios Atributos opcionais
CODE, nome do ficheiro que contém a classe principal da applet WIDTH, largura inicial da applet em pixeis HEIGHT, altura inicial da applet em pixeis Atributos opcionais CODEBASE, define o URL da applet. Se for omitido é considerado o URL da página em que a applet for chamada NAME, nome lógico da applet. Pode ser utilizado por outras applets da mesma página para a localizar ALIGN, alinhamento da applet VSPACE, espaço vertical à volta da applet HSPACE, espaço horizontal à volta da applet Applet Java Introdução (c)AB,2000

6 JAVA Applet Parâmetros adicionais da applet delimitados por uma marca
<PARAM> NAME, especifica um nome de um determinado atributo VALUE, valor correspondente para o atributo especificado Exemplo: <APPLET CODE=“Exemplo.class” WIDTH=100 HEIGHT=50> <PARAM NAME=texto VALUE=“linha de texto”> </APPLET> Java Introdução (c)AB,2000

7 JAVA Applet Ciclo de vida das applets init start stop destroy Abandono
da página Os recursos da applet são libertados A página é acedida A applet é criada init start stop destroy Regresso à página Java Introdução (c)AB,2000

8 JAVA Applet init () - Inicializa a applet (load da página)
Uma applet é uma subclasse da classe Applet em que se podem redefinir métodos, que são invocados automaticamente pelo browser WWW init () Inicializa a applet (load da página) start () Arranca a execução da applet (load/entrar na página, por back, forward ou hyperlink) stop () Pára a execução (sair da página, minimizar browser) destroy () - Destrói a applet (sair do browser) Java Introdução (c)AB,2000

9 (Ex:browser que compreende JAVA)
Máquina Virtual JAVA Máquina Virtual JAVA (Ex:browser que compreende JAVA) Ficheiros .java Ficheiros de código de byte .class código-fonte Java Introdução (c)AB,2000

10 JAVA Vantagens Máquina Virtual Java (JVM) Independência da máquina
Emuladores diferentes de máquinas virtuais Java em função da plataforma em uso Segurança Código java é executado dentro de máquinas virtuais java que verificam o comportamento do programa Tamanho reduzido do código JVMs têm bibliotecas de funções incorporadas. As funções são chamadas apenas quando necessário em vez de estarem ligadas aos programas, logo, redução de tempos de transferência... Java Introdução (c)AB,2000

11 JAVA Máquina Virtual Java (JVM) Desvantagem : decréscimo de desempenho
Compilação em tempo real Programas em código de byte Java não são executados tão depressa como os programas em código nativo normal (mecanismos Just In Time compilation tentam acelerar o processo) A compliação em tempo real considera os códigos de byte Java como linguagem de código-fonte que é compilada como programa para a linguagem da máquina local Java Introdução (c)AB,2000

12 Programação JAVA Palavras reservadas de Java abstract boolean break
byte case catch char class const continue default do double else extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try void volatile while Java Introdução (c)AB,2000

13 Programação JAVA /* zona de texto comentada…. */
Comentários /* zona de texto comentada…. */ ou int inteiro; // comentário na linha Java Introdução (c)AB,2000

14 Programação JAVA Declaração de variáveis
Locais - conhecidas apenas dentro da função que as declara Variáveis Globais - conhecidas por várias funções (ex: atributos de classe) Java Introdução (c)AB,2000

15 Programação JAVA Declaração de variáveis
Podem aparecer em qualquer ponto da função A declaração consiste num tipo, nome da variável e opcionalmente, do operador de atribuição (=) e de uma expressão que representa o valor inicial da variável Exemplo: int inteiro; int outroInteiro = 40; Nota: instruções em Java terminam com ponto e vírgula (;) Java Introdução (c)AB,2000

16 Programação JAVA Declaração de variáveis Tipos de dados intrínsecos
boolean byte char short int long float double Tamanho (bits) 8 16 32 64 Observações Pode tomar valores true ou false Número inteiro entre -128 e 127 Tipo caracter, norma Unicode 16 bits Número inteiro entre e 32767 Número inteiro Número real (vírgula flutuante) Valor pré-definido false ‘x0’ 0,0F 0,0D Java Introdução (c)AB,2000

17 Programação JAVA Tipos de dados intrínsecos
Todos os tipos numéricos têm sinal O Java não suporta inteiros numéricos sem sinal Se a variável não for inicializada pelo programador é-lhe atribuído um valor pré-definido Os caracteres em Java ocupam 16 bits e são sempre considerados como sendo Unicode Nota: O ASCII é um subconjunto do Unicode. Os primeiros 128 caracteres são os mesmos que os do ASCII, depois o Unicode associa outros valores aos caracteres acentuados e outros Java Introdução (c)AB,2000

18 Programação JAVA Tipos de dados intrínsecos Exemplos de utilização:
boolean resposta = true; char c = ‘A’; byte b = 80; short s = ; int i = ; long l = ; float f = 2.23; double d = 2.5e10; Java Introdução (c)AB,2000

19 Programação JAVA Caracteres literais especiais \n Nova Linha \t
Tabulação Apagar para trás Regressar ao início da linha Nova página Apóstrofo Aspas Barra Invertida \n \t \b \r \f \’ \” \\ Java Introdução (c)AB,2000

20 Programação JAVA Conversão de tipos
O Java converte automaticamente um tipo numérico para outro superior (promoção) no entanto é preferível utilizar uma conversão Exemplo: int inteiro; long longo; longo = inteiro; // O java aceita longo = (long) inteiro; // preferível efectuar o cast inteiro = longo; // erro na compilação inteiro = (int) longo; // ok Java Introdução (c)AB,2000

21 Programação JAVA Operadores Aritméticos Nota: a = a + 5; é o mesmo que
+ Adição - Subtracção * Multiplicação / Divisão % Módulo Ex: ++numero; ++ Incremento de uma unidade Decremento de uma unidade Java Introdução (c)AB,2000

22 Programação JAVA Operadores Relacionais == Igual a… != Diferente de …
< Menor que… > Maior que… <= Menor ou igual que… >= Maior ou igual que... Exemplo: if ( a > b ) { // ... } Java Introdução (c)AB,2000

23 Programação JAVA Operadores ! Negação ~ Complemento
& Conjunção (AND binário) | Disjunção (OR binário) ^ Disjunção exclusiva (XOR binário) << shift binário >> shift binário >>> shift à direita com colocação de zeros à esquerda && AND antecipado (a expressão lógica é avaliada antes de terminada) || OR antecipado Java Introdução (c)AB,2000

24 Programação JAVA Precedência de Operadores
Operadores com a mesma precedência são executados da esquerda para a direita Exemplo: int inteiro; inteiro = ; // o resultado é 9 inteiro = * 2: // o resultado é 14 pois a precedência de // ‘*’ tem precedência superior em relação a ‘+’ Java Introdução (c)AB,2000

25 + - Programação JAVA Precedência de Operadores . [ ] ( )
++ -- ! ~ instanceof * / % + - << >> >>> < > <= >= == != & ^ | && || ?: = op = , + - Java Introdução (c)AB,2000

26 Programação JAVA Arrays
Arrays (estruturas de dados do tipo vectorial e/ou matricial) Exemplo: int vectorInteiros[] = new int[50]; int matrizInteiros[][] = new int[50][4]; Criar e inicializar arrays Exemplo: char alfabeto[] = { ‘a’, ‘b’, ‘c’, ‘d’ }; int notas[] = { 20, 15, 15, 14, 11, 10, 18 }; Java Introdução (c)AB,2000

27 Programação JAVA Controlo de fluxo Instrução if Decisões
instrução switch ciclo for ciclo while Decisões Ciclos Java Introdução (c)AB,2000

28 Programação JAVA If ( condição ) { } else Instrução if // … instruções
Nota: o bloco else é opcional Java Introdução (c)AB,2000

29 Programação JAVA switch ( variável ) { } default: Instrução switch
case valor1: // instruções… break; case valor2: default: } Java Introdução (c)AB,2000

30 Programação JAVA ciclo for for ( inicialização; condição de controlo; incremento ) { // instruções } Exemplo: for ( int I = 0; I < 100; I++) { // ... } Java Introdução (c)AB,2000

31 Programação JAVA while ( condição de controlo ) { } do {
ciclo while while ( condição de controlo ) { // instruções... } Exemplo: int a = 0; while ( a < 100 ) { a=a+1; // ... } ou do { // instruções... } while ( condição de controlo ); Java Introdução (c)AB,2000

32 Programação JAVA { } Criar classes em Java
modificador(es) class NomeDaClasse { // membros da classe (atributos e métodos) } exemplo de modificadores: public (acessibilidade total da classe) abstract (métodos abstractos a definir pelas subclasses) final (classe que não poderá ser base de herança) Java Introdução (c)AB,2000

33 Programação JAVA Criar classes em Java public class Ponto Ponto {
private int m_x; private int m_y; public Ponto() m_x = 0; m_y = 0; } Ponto Atributos da classe, neste caso private garante o encapsulamento dos dados Construtor por defeito da classe, é público, não devolve nenhum tipo, tem o mesmo nome da classe e não recebe argumentos Java Introdução (c)AB,2000

34 Programação JAVA Criar classes em Java
O construtor é invocado sempre que se cria um novo objecto da classe Ponto Ponto p1; p1 = new Ponto(); p1 é referência para instâncias da classe Ponto O novo objecto é criado, a sua referência fica com p1. De acordo com o exemplo, o construtor da classe coloca zero nos atributos privados m_x e m_y Java Introdução (c)AB,2000

35 Programação JAVA Criar classes em Java public class Ponto { Exemplo:
private int m_x; private int m_y; public Ponto() m_x = 0; m_y = 0; } public Ponto(int x, int y) m_x = x; m_y = y; Construtor alternativo da classe Ponto Passa a ser possível criar objectos da classe Ponto com valores iniciais Exemplo: Ponto p1 = new Ponto( 10, 5); Ponto Java Introdução (c)AB,2000

36 Programação JAVA Criar classes em Java public class Ponto { Ponto
private int m_x; private int m_y; public Ponto() m_x = 0; m_y = 0; } public Ponto(int x, int y) m_x = x; m_y = y; Ponto Problema Os atributos de Ponto são privados. Como pode o “mundo exterior” obter os valores de m_x e m_y respeitando o princípio do encapsulamento da informação? Java Introdução (c)AB,2000

37 Programação JAVA Criar classes em Java Ponto Uma solução possível:
public class Ponto { private int m_x; private int m_y; public Ponto() { m_x = 0; m_y = 0; } public Ponto(int x, int y) { m_x = x; m_y = y; } public int X() return m_x; } public int Y() return m_y; Ponto Uma solução possível: criar métodos de acesso público para obtenção dos valores dos atributos Java Introdução (c)AB,2000

38 Programação JAVA Criar classes em Java Novo Problema
public class Ponto { private int m_x; private int m_y; public Ponto() { m_x = 0; m_y = 0; } public Ponto(int x, int y) { m_x = x; m_y = y; } public int X() return m_x; } public int Y() return m_y; Novo Problema Possibilitar a colocação de valores em m_x e m_y a partir de mensagens enviadas aos objectos da classe Ponto. Ponto Java Introdução (c)AB,2000

39 Programação JAVA Criar classes em Java Ponto Preparar métodos
public class Ponto { private int m_x; private int m_y; public Ponto() { m_x = 0; m_y = 0; } public Ponto(int x, int y) { m_x = x; m_y = y; } public int X() { return m_x; } public int Y() { return m_y; } public void X(int x) { m_x = x; } public void Y(int y) { m_y = y; Ponto Preparar métodos públicos de atribuição de valores a m_x e m_y É uma responsabilidade da classe efectuar estas operações... Java Introdução (c)AB,2000

40 Programação JAVA Criar classes em Java Exemplo: 4 8 public class Ponto
{ private int m_x; private int m_y; public Ponto() { m_x = 0; m_y = 0; } public Ponto(int x, int y) { m_x = x; m_y = y; } public int X() { return m_x; } public int Y() { return m_y; } public void X(int x) { m_x = x; } public void Y(int y) { m_y = y; Exemplo: Ponto p1 = new Ponto(); Ponto p2 = new Ponto(2,3); p1.X(4); p1.Y(8); int a; a = p1.X(); p2.X( a ); p2.Y( p1.Y() ); 4 4 8 Java Introdução (c)AB,2000

41 Programação JAVA Criar classes em Java Instanciar objectos
da classe Ponto Neste caso foram criados 8 novos objectos da classe Ponto, no entanto, fica apenas referenciado o último ponto em p Perdem-se todas as referências anteriores p só guarda a última referência atribuída O que acontece aos outros objectos que nasceram e estão perdidos? Ponto p; p = new Ponto(1,1); p = new Ponto(2,2); p = new Ponto(3,3); p = new Ponto(4,4); p = new Ponto(5,5); p = new Ponto(6,6); p = new Ponto(7,7); p = new Ponto(8,8); Java Introdução (c)AB,2000

42 GC Programação JAVA Criar classes em Java
O que acontece aos outros objectos que nasceram e estão perdidos? Ponto p; p = new Ponto(1,1); p = new Ponto(2,2); p = new Ponto(3,3); p = new Ponto(4,4); p = new Ponto(5,5); p = new Ponto(6,6); p = new Ponto(7,7); p = new Ponto(8,8); R: O mecanismo GC (Garbage Collection) entra em funcionamento. O Java executa continuamente uma tarefa de segundo plano para libertar recursos de todos os objectos criados e que não estejam referenciados Gestão automática de memória Nota: System.gc força a execução do GC Java Introdução (c)AB,2000

43 Programação JAVA A referência this Criar classes em Java
Sempre que um método faz uma referência não qualificada a outro membro da mesma classe, existe uma referência implícita a this. Exemplo: class Conta { double m_saldo; Conta() { m_saldo = 0.0; // equivalente a this.m_saldo=0.0; } Java Introdução (c)AB,2000

44 Programação JAVA class A { // ... } class B extends A { } // ...
Classes em Java, Herança class A { // ... } A B class B extends A { // ... } Java Introdução (c)AB,2000

45 Programação JAVA A classe Object
Object é a super-classe de todas as classes Qualquer classe expande automaticamente a classe Object Todas as classes herdam os métodos de Object class A { // ... } class A extends Object { // ... } ou Java Introdução (c)AB,2000

46 Programação JAVA A classe Object Principais métodos de Object
protected Object clone, devolve uma cópia do objecto public final Class getClass, devolve o objecto Class O objecto Class descreve a classe actual Class.toString devolve o nome da classe toString, devolve uma descrição Unicode do objecto. Object.toString devolve o endereço do objecto, no entanto outras classes sobrecarregam toString para proporcionar uma descrição mais útil do objecto Class Java Introdução (c)AB,2000

47 Programação JAVA A classe String A classe StringBuffer
String é a classe geral para representar cadeias de caracteres Unicode String representa uma cadeia fixa de caracteres String oferece métodos úteis como concat, compareTo, toUpper, toLower A classe StringBuffer A classe StringBuffer representa uma cadeia de caracteres dinamicamente dimensionável (ex métodos: append, insert,…) Java Introdução (c)AB,2000

48 Programação JAVA A classe System
A classe System proporciona uma interface independente do sistema para algumas funções gerais in, out e err são as funcionalidades mais úteis de System Objectos padrão de E/S Objecto System.in System.out System.err Tipo BufferedInputStream PrintStream Descrição entrada-padrão (normalmente teclado) saída-padrão (normalmente ecrã) saída de erro (normalmente ecrã) Java Introdução (c)AB,2000

49 Programação JAVA Blocos try/catch
Controlo/Tratamento de erros através de excepções class A { // ... public double Divide(double d1, double d2) if ( d2 == 0 ) { throw new Exception(“Divisão por zero!”); } return ( d1 / d2 ); try { // instruções… a = 50; b=0; objecto.Divide(a,b); } catch (Exception e) // visualização, situação de erro... Java Introdução (c)AB,2000

50 Programação JAVA interfaces
Uma interface permite ao programador descrever uma série de capacidades que uma classe deve implementar interface ipersistente { void Store(); void Restore(); } class B extends A implements ipersistente { // … definir na classe Store() e Restore() } Uma classe que implementa uma interface não está a herdar nada apenas promete implementar os métodos definidos na interface Uma classe realiza uma interface utilizando a palavra-chave implements Java Introdução (c)AB,2000

51 Programação JAVA Pacotes Java: packages
Por uma questão de organização é possível combinar classes em packages. As classes estão agrupadas mas não têm que estar relacionadas, pelo menos da mesma forma que uma classe derivada se relaciona com a sua classe base. Os nomes das packages podem conter pontos finais. Por convenção, os nomes das packages são constituídos por várias palavras (a primeira pode indicar o nome da organização que a desenvolveu) Java Introdução (c)AB,2000

52 Programação JAVA Pacotes Java: packages
Adicionar uma classe a uma package: package edu.escola; public class Aluno { // instruções…. } Java Introdução (c)AB,2000

53 Programação JAVA import edu.escola.Aluno; import edu.escola.*;
Pacotes Java: packages Utilizar uma classe de uma package import edu.escola.Aluno; Utilizar todas as classes de uma package import edu.escola.*; Java Introdução (c)AB,2000

54 Programação JAVA Pacotes Java: packages
Packages da biblioteca Java (exemplos) java.lang , inclui as classes mais importantes da biblioteca Java. É importado por definição. (Ex: Object,String, classes para tipos intrínsecos, …) java.applet, inclui as classes necessárias para a criação de applets java.awt, Abstract Window Toolkit, conjunto de ferramentas para processamento de janelas java.util, classes de utilidade geral (Ex: Date, Random,Vector,...) Java Introdução (c)AB,2000

55 Programação JAVA Pacotes Java: packages
Packages da biblioteca Java (exemplos) java.net, classes para operações de rede sobre TCP/IP (Ex: URL, URLConnection,…) java.beans, especificação de objectos de tipo “Java Beans” java.math, tipos númericos especiais java.sql, bases de dados/SQL java.servlet, criação de servlets Java Introdução (c)AB,2000

56 Programação JAVA Exemplo O pacote java.io, a classe System
import java.io.*; public class Class1 { public static void main (String[] args) try { byte cadeiaBytes[] = new byte[128]; System.out.println("Digite uma frase: "); System.in.read(cadeiaBytes); String s = new String(cadeiaBytes); System.out.println(s); } catch (IOException e) System.out.println(e.toString()); e.printStackTrace(); Exemplo O pacote java.io, a classe System e blocos try/catch Java Introdução (c)AB,2000

57 Programação JAVA AWT Abstract Window Toolkit
Usar package javax.swing.* (encapsula e melhora a awt) Conjunto de Ferramentas para Janelas Contém classes para componentes gráficos para qualquer plataforma de interface GUI A própria classe Applet é membro do AWT A super-classe da maioria das classes que compõem o package AWT é a Component Java Introdução (c)AB,2000

58 Programação JAVA AWT Component Button Container Canvas Checkbox Window Panel Label List Dialog Frame Applet Scrollbar TextComponent FileDialog TextArea TextField Subclasses de Component (super-classe da maioria das classes do AWT) Java Introdução (c)AB,2000

59 Programação JAVA AWT Exemplo: import java.awt.*; import java.applet.*;
public class Applet1 extends Applet { Label m_label = new Label("Programação em JAVA"); Button m_botao = new Button("Botão 1"); TextField m_campoTexto = new TextField(10); public void init() add ( m_label ); add ( m_botao ); add ( m_campoTexto ); } Applet Label Button TextField Java Introdução (c)AB,2000

60 Programação JAVA AWT Nota: o layout por defeito neste caso é FlowLayout Java Introdução (c)AB,2000

61 Programação JAVA AWT Principais formas de Layout (apresentação dos componentes) FlowLayout BorderLayout GridLayout Os componentes são posicionados da esquerda para a direita pela ordem em que estão ligados Permite posicionar componentes relativamente aos limites da janela (North, South, East, West e Center) Os componentes são posicionados numa filosofia de grelha Nota: o método setLayout da Applet permite mudar o layout Java Introdução (c)AB,2000

62 Programação JAVA AWT Exemplo #1: utilização de BorderLayout
// exemplo anterior (Applet1) // ... public void init() { setLayout(new BorderLayout()); add ( "North", m_label ); add ( "Center", m_campoTexto ); add ( "South", m_botao ); } Aos objectos North e South é atribuído o espaço vertical necessário. Aos objectos West e East é atribuído o espaço horizontal necessário dentro de qualquer espaço vertical que ainda reste Aos objectos Center é atribuído o restante espaço Java Introdução (c)AB,2000

63 Programação JAVA AWT Exemplo #1: utilização de BorderLayout
Java Introdução (c)AB,2000

64 Programação JAVA AWT Exemplo #2: utilização de BorderLayout
Button b1 = new Button("B1"); Button b2 = new Button("B2"); Button b3 = new Button("B3"); Button b4 = new Button("B4"); Button b5 = new Button("B5"); setLayout(new BorderLayout()); add("North", b1); add("West", b2); add("Center", b3); add("East", b4); add("South", b5); Java Introdução (c)AB,2000

65 Programação JAVA 1 2 3 4 AWT Paineis GridLayout ( 4, 1 )
Java Introdução (c)AB,2000

66 Programação JAVA AWT Paineis painel m_painelTiposConta painel
m_painelValor painel m_painelOperacoes zona para Label sem painel p1 Java Introdução (c)AB,2000

67 Programação JAVA AWT Paineis FlowLayout FlowLayout BorderLayout
GridLayout ( 1, 2) Java Introdução (c)AB,2000

68 Programação JAVA Painéis e outros componentes AWT
Panel m_painelTiposConta; Panel m_painelValor; Panel m_painelOperacoes; CheckboxGroup m_cbg; Checkbox m_cbContaOrdem; Checkbox m_cbContaMulti; Label m_label1 = new Label("Valor"); Label m_labelMsg = new Label(""); Button m_botaoDep = new Button("Depositar"); Button m_botaoLev = new Button("Levantar"); Button m_botaoSaldo = new Button("Saldo"); Button m_botaoLimpar = new Button("Limpar"); TextField m_campoTexto = new TextField(15); Java Introdução (c)AB,2000

69 Programação JAVA Painéis e outros componentes AWT public void init() {
m_cbg = new CheckboxGroup(); m_cbContaOrdem = new Checkbox("Conta Ordem", m_cbg, false); m_cbContaMulti = new Checkbox("Conta Multibanco", m_cbg, true); // ... Java Introdução (c)AB,2000

70 Programação JAVA Painéis e outros componentes AWT
m_painelTiposConta = new Panel(); m_painelTiposConta.setLayout(new FlowLayout(FlowLayout.CENTER)); m_painelTiposConta.add(m_cbContaOrdem); m_painelTiposConta.add(m_cbContaMulti); m_painelValor = new Panel(); m_painelValor.setLayout(new FlowLayout(FlowLayout.CENTER)); m_painelValor.add(m_label1); m_painelValor.add(m_campoTexto); m_painelValor.add(m_botaoLimpar); m_painelOperacoes = new Panel(); m_painelOperacoes.setLayout(new BorderLayout()); Panel p1 = new Panel(); p1.setLayout(new GridLayout(1,2)); p1.add(m_botaoDep); p1.add(m_botaoLev); m_painelOperacoes.add("Center", m_botaoSaldo); m_painelOperacoes.add("South", p1); Java Introdução (c)AB,2000

71 Programação JAVA add ( m_painelTiposConta ); add ( m_painelValor );
Painéis e outros componentes AWT setLayout(new GridLayout(4,1)); add ( m_painelTiposConta ); add ( m_painelValor ); add ( m_painelOperacoes ); add ( m_labelMsg ); Java Introdução (c)AB,2000

72 Programação JAVA Interceptar eventos em Applets AWT Exemplo:
O utilizador escreve livremente no componente TextField Se carregar no Botão 1 então o texto escrito deve substituir “Programação em JAVA” na label Nota: exemplo desenvolvido em J++ compatível com JDK Java Introdução (c)AB,2000

73 Programação JAVA Interceptar eventos em Applets AWT
import java.applet.*; import java.awt.*; import java.awt.event.*; public class Applet1 extends Applet implements ActionListener { Label m_label = new Label("Programação em JAVA"); Button m_botao = new Button("Botão 1"); TextField m_campoTexto = new TextField(10); // pedimos desculpa por esta interrupção, a classe continua nos próximo slides... Java Introdução (c)AB,2000

74 Programação JAVA Interceptar eventos em Applets AWT //..
public void init() { setLayout(new BorderLayout()); add ( "North", m_label ); add ( "Center", m_campoTexto ); add ( "South", m_botao ); m_botao.addActionListener(this); } // ... Java Introdução (c)AB,2000

75 Programação JAVA Interceptar eventos em Applets AWT
public void actionPerformed(ActionEvent evento) { Object objectoAlvo = (Object) evento.getSource(); if ( objectoAlvo instanceof Button ) { Button b = (Button) objectoAlvo; String s = b.getLabel(); if ( s.compareTo("Botão 1") == 0 ) { m_label.setText( m_campoTexto.getText() ); } } // fim da classe Applet1 Java Introdução (c)AB,2000

76 Programação JAVA Interceptar eventos em Applets AWT
Ou de uma forma mais simples... public void actionPerformed(ActionEvent evento) { if ( evento.getSource() == m_botaoLimpar ) m_campoTexto.setText(""); } } // fim da classe Applet1 Java Introdução (c)AB,2000

77 Programação JAVA Funcionalidades gráficas em Applets Classe Graphics
Graphics é argumento do método paint de Applet public void paint(Graphics g) { g.setFont(new Font( "TimesRoman", Font.BOLD, 36)); g.setColor ( Color.red ); g.drawString ( "Java", 10, 100); } Nota: repaint() provoca uma chamada a paint Java Introdução (c)AB,2000

78 Programação JAVA Funcionalidades gráficas em Applets Classe Graphics
Graphics é argumento do método paint de Applet public void paint(Graphics g) { g.setColor(Color.red); g.drawRect(10,10,110,50); g.fillRect(50,15,30,20); g.setColor(Color.blue); g.drawOval(10,15,110,25); g.setColor(Color.black); g.drawLine(10,25, 110, 25); } x y Java Introdução (c)AB,2000

79 Na WWW… Sobre Java www.sun.com www.javasoft.com subsidiária da Sun
sunsite.unc.edu/javafaq ligações a outros sites Java Java Introdução (c)AB,2000


Carregar ppt "JAVA Linguagem orientada por objectos"

Apresentações semelhantes


Anúncios Google