Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.