Your SlideShare is downloading. ×
  • Like
Java14
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Java14

  • 1,847 views
Published

 

Published in Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,847
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
103
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Linguagens e Técnicas de Programação - JAVA José Marcos Barbosa da Silveira [email_address]
  • 2. Criação de Applets Java
    • Objetivos deste capítulo
    • Demonstrar os fundamentos básicos para a criação de aplicações que podem ser executadas na Internet;
    • Conceituar e demonstrar o funcionamento dos Applets;
    • Apresentar as diferenças básicas entre aplicações convencionais e Applets;
    • Demonstrar as restrições dos Applets e o que pode se feito para diminuí-las;
    • Demonstrar a comunicação entre uma página HTML e um Applet por meio da passagem de parâmetros.
  • 3. Definição
    • Até este ponto, todas as aplicações elaboradas não foram construídas para serem inseridas na Internet. As aplicações com essa finalidade são chamadas de Applets que são programas inseridos em páginas HTML, executados pelo browser. Dessa forma é possível inserir um Applet em uma página HTML como se fosse uma figura, podendo ser inserida em qualquer região da tela. OS Applets são compiladas da mesma forma que uma aplicação comum.
    • Os Applets são considerados aplicações clientes porque rodam na máquina do usuário e não no servidor remoto. Quando um usuário acessa uma página que contém um Applet, ela é totalmente copiada na máquina do usuário para que possa ser executada.
  • 4. Ciclo de Vida do Applet
    • O ciclo de vida de um Applet é constituído por métodos que são invocados de acordo com certas ações que ocorrem durante sua execução. Sendo assim, diferentes métodos podem ser executados no Applet como se fossem eventos disparados pelas ações do usuário.
    • 1) Instanciação – ocorre quando o Applet é criado
      • public class TesteApplet extends JApplet { ...}
    • 2) Inicialização – é utlizado como se fosse o construtor de uma aplicação convencional.
      • public void init(){...}
    • 3) Início – Este método é chamado toda vez que o Applet se torna visível.
      • public void start() {...}
    • 4) Parada – Este método é chamado toda vez que o Applet se torna invisível.
      • public void stop() {...}
    • 5) Atualização – Esse método é chamado toda vez que o Applet necessita atualizar sua exibição na tela.
      • public void paint() {...}
    • 6) Finalização – Este método é chamado quando o Applet está sendo descarregado da página.
      • public void destroy() {...}
  • 5. Ciclo de Vida do Applet (cont.)
    • Ao elaborar um Applet, não é necessário utilizar todos os métodos. O uso dos métodos é opcional, dependendo das necessidades da aplicação.
    • Outra característica própria do Applet é que há a necessidade da elaboração de um arquivo HTML para chamar o Applet.
    • Exemplo :
    • <<HTML>
    • <APPLET CODE=“TesteApplet.class&quot; width=350 height=100>
    • </APPLET>
    • </HTML>
  • 6. Exemplo (cont.)
    • import java.applet.Applet;
    • import java.awt.*;
    • import javax.swing.*;
    • public class TesteApplet extends Applet{
    • private int cont=1;
    • private JTextField jtft1,jtft2;
    • public void init(){
    • jtft1=new JTextField(&quot;Estudo do Applet ...&quot;);
    • jtft2=new JTextField();
    • setLayout(new GridLayout(2,1));
    • add(jtft1);
    • add(jtft2);
    • }
    • public void start(){
    • System.out.println(&quot;Iniciando&quot;);
    • }
    • public void stop(){
    • System.out.println(&quot;Parando&quot;);
    • }
    • public void destroy(){
    • System.out.println(&quot;Destruindo&quot;);
    • }
    • public void paint(Graphics g){
    • jtft2.setText(&quot;Atualizou &quot;+cont+&quot; vezes&quot;);
    • cont++;
    • }}
  • 7. Como Executar um Applet
    • Um Applet pode ser executado de duas formas: por meio de um browser ou de uma ferramenta especializada nesse processo, como é o caso do AppletViewer da Sun.
    • Exemplo
    • AppletViewer TesteApplet.html
    • Diferenças entre Applets e Aplicações
    • O aspecto que diferencia esses dois tipos de aplicação se refere ao fato de uma ser desenvolvida para ser executada pelo interpretador da linguagem, como foi feito até agora e a outra é desenvolvida para ser executada na Internet.
    • A herança é realizada com JApplet e não com JFrame;
    • Normalmente não existe o método main();
    • O método init(), substitui o construtor;
    • Não há necessidade do uso dos métodos: setSize(), SetTitle(), SetLocation(), pois estas ações são controladas pelo documento HTML.
  • 8. Exemplo
    • Código HTML (Exemplo de uma calculadora)
    • <<HTML>
    • <APPLET CODE=&quot;Calculadora.class&quot; width=350 height=100>
    • </APPLET>
    • </HTML>
    • Código Java (Applet)
    • import javax.swing.*;
    • import java.awt.*;
    • import java.awt.event.*;
    • import java.applet.Applet;
    • public class Calculadora extends JApplet{
    • private JLabel jlNum1,jlNum2,jlResult;
    • private JButton jbSoma,jbSub,jbDiv,jbMult,jbLimpar;
    • private JPanel painel;
    • private JTextField jtfNum1,jtfNum2,jtfResult;
  • 9. Exemplo (cont.)
    • public void init(){
    • Eventos evento=new Eventos();
    • jbSoma=new JButton(&quot;+&quot;);
    • jbSub=new JButton(&quot;-&quot;);
    • jbDiv=new JButton(&quot;/&quot;);
    • jbMult=new JButton(&quot;*&quot;);
    • jbLimpar=new JButton(&quot;Limpar&quot;);
    • painel=new JPanel();
    • painel=new JPanel(new GridLayout(3,4));
    • jtfResult=new JTextField(5);
    • jtfNum1=new JTextField(5);
    • jtfNum2=new JTextField(5);
    • jlNum1=new JLabel(&quot;Num1&quot;);
    • jlNum2=new JLabel(&quot;Num2&quot;);
    • jlResult=new JLabel(&quot;Result&quot;);
  • 10. Exemplo (cont.)
    • painel=new JPanel();
    • painel=new JPanel(new GridLayout(3,4));
    • jtfResult=new JTextField(5);
    • jtfNum1=new JTextField(5);
    • jtfNum2=new JTextField(5);
    • jlNum1=new JLabel(&quot;Num1&quot;);
    • jlNum2=new JLabel(&quot;Num2&quot;);
    • jlResult=new JLabel(&quot;Result&quot;);
    • painel.add(jlNum1);
    • painel.add(jtfNum1);
    • painel.add(jbSoma);
    • painel.add(jbSub);
    • painel.add(jlNum2);
    • painel.add(jtfNum2);
    • painel.add(jbMult);
    • painel.add(jbDiv);
    • painel.add(jlResult);
    • painel.add(jtfResult);
    • painel.add(jbLimpar);
  • 11. Exemplo (cont.)
    • getContentPane().add(painel);
    • jbSoma.addActionListener(evento);
    • jbSub.addActionListener(evento);
    • jbMult.addActionListener(evento);
    • jbDiv.addActionListener(evento);
    • jbLimpar.addActionListener(evento);
    • }
    • class Eventos implements ActionListener{
    • public void actionPerformed(ActionEvent e){
    • if(e.getSource()==jbSoma) jtfResult.setText(String.valueOf(Double.parseDouble(jtfNum1.getText())+Double.parseDouble(jtfNum2.getText())));
    • if(e.getSource()==jbSub)
    • jtfResult.setText(String.valueOf(Double.parseDouble(jtfNum1.getText())-Double.parseDouble(jtfNum2.getText())));
  • 12. Exemplo (cont.)
    • if(e.getSource()==jbMult) jtfResult.setText(String.valueOf(Double.parseDouble(jtfNum1.getText())*Double.parseDouble(jtfNum2.getText())));
    • if(e.getSource()==jbDiv) jtfResult.setText(String.valueOf(Double.parseDouble(jtfNum1.getText())/Double.parseDouble(jtfNum2.getText())));
    • if(e.getSource()==jbLimpar){
    • jtfNum1.setText(&quot;&quot;);
    • jtfNum2.setText(&quot;&quot;);
    • jtfResult.setText(&quot;&quot;);
    • }
    • }
    • }
    • }
  • 13. Passagem de Parâmetros
    • Um Applet pode receber dados da página HTML. Esses dados recebidos podem ser usados para determinar as características físicas de um Applet ou usados em cálculos internos.
    • Para envio de valores por meio de parâmetros em arquivos HTML, é utlizada a tag <PARAM>, que deve ser inserida entre as tags <APPLET> de abertura e encerramento.
    • Sintaxe :
    • <PARAM name=“Nome_do_Parâmetro” value=“Valor_do_Parâmetro”>
    • Em que:
    • name – Contém o nome do parâmetro que pode ser comparado ao nome de uma variável. Esse nome deve ser idêntico nos dois arquivos envolvidos, isto é, no documento HTML e no Applet.
    • value – Contém o conteúdo do parâmetro, isto é, o valor que o parâmetro possui. É similar ao conteúdo de uma variável.
    • O método getParameter() sempre retorna um valor do tipo String.
  • 14. Exemplo
    • Código HTML
    • <<HTML>
    • <APPLET CODE=&quot;Parametros.class&quot; width=350 height=100>
    • <PARAM name=&quot;label&quot; value=&quot;cancelar&quot;>
    • </APPLET>
    • </HTML>
    • Código Java
    • import javax.swing.*;
    • import java.awt.*;
    • import java.awt.event.*;
    • import java.applet.Applet;
    • public class Parametros extends JApplet{
    • private JButton jbparam;
    • private String p1;
    • public void init(){
    • p1=getParameter(&quot;label&quot;);
    • jbparam=new JButton(&quot;OK&quot;);
    • getContentPane().add(jbparam);
    • jbparam.addActionListener(new ActionListener(){
    • public void actionPerformed(ActionEvent e ){
    • jbparam.setLabel(p1);
    • }
    • });
    • } }
  • 15. Restrições dos Applets
    • Os Applets foram planejados para serem executados de um site remoto e então serem executados localmente. Desta forma para evitar que Applets criados por pessoas sem ética danifiquem os sistema local em que estão sendo executados, foram impostas algumas restrições a seu funcionamento.
    • Os Applets são executados pelos browser e monitorados por um gerenciador de segurança chamado applet security manager.
    • As tarefas que os Applets podem realizar sem qualquer tipo de restrição são: exibir imagens, executar sons, processar o acionamento do teclado, etc.
    • Por outro lado estão sujeitos a diversas restrições, tais como: não podem executar programas localmente instalados, não podem se comunicar com outros hosts, não podem ler ou escrever no sistema de arquivo local e não podem obter informações do S.O.
  • 16. Exercício
    • Crie um Applet que receba o valor da cotação do dolar de uma página em HTML e utilize-o internamente para a realizar a conversão de valor de um produto em reais. Conforme modelo abaixo.
  • 17. Bibliografia
      • FURGERI, Sérgio. Java 2: Ensino didático: Desenvolvendo e Implementando Aplicações –
      • São Paulo: Érica, 372p. 2002.
      • TAMASSIA, R.; GOODRICH, M.T. Estrutura de Dados e Algoritmos em Java. Bookman, 2002.
      • DEITEL,H.M.; DEITEL, P.J. Java: Como Programar , Bookman, 2002.