Orientação a Objetos e Java Graduação em Ciência da Computação Paulo Borba © Centro de Informática, UFPE.

Slides:



Advertisements
Apresentações semelhantes
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique
Advertisements

Sistemas distribuídos
Serviços na Internet: Caracterização e Acesso
Capítulo 1 Introdução.
Applets Carlos Bazilio Depto de Ciência e Tecnologia
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Módulo II Programação com Applets
CAPÍTULO Sistemas de supervisão 2. Sistema SCADA
Graphical User Interface (GUI) Prof(o): Alexandre Parra.
Capítulo 16 Applets.
Tutorial I: Criando a interface de uma aplicação em Java
Componentes GUI GUI – Grafical User Interface – São construídas a partir de componentes GUI chamados de controles ou widgets (windows gadgets – engenhocas.
Aplicativos Web Com Orientação a Objetos
Orientação a Objetos e Java Graduação em Ciência da Computação Paulo Borba © Centro de Informática, UFPE.
Singleton e Adapter Professor: Nazareno Andrade
JAVA Linguagem Ambiente de Desenvolvimento
Programação para estrutura Cliente-Servidor
Sistemas Distribuídos
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
A autoria - II.
Interface Gráfica (material da Profa. Luciana Nedel - www. inf. pucrs
Arquitetura Cliente /Servidor
Introdução à Programação Orientada a Objetos com Java
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
1 Mobilidade de Código com μcode Projeto Giga Alexandre Lages
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Professor: Márcio Amador
Orientação a Objetos e Java Graduação em Ciência da Computação
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
POO Interface Gráfica - Swing
Conceitos da arquitetura
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Padrões de Interação com o Usuário
Herança e Arquitetura em camadas
INTERNET BÁSICA.
Tópicos Especiais J2EE Prof. Cristina Valadares Curso de Ciência da Computação.
O Que É a Internet e Como Funciona: Tecnologias Ativas Renato M.E. Sabbatini, PhD Aula.
Conceitos Básicos e Manipulação de Objetos
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Especialização em Tecnologias da Informação Paulo Borba © Centro de Informática,
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
Programação Gráfica em Java Introdução
UNIVERSIDADE FEDERAL DE SANTA CATARINA CTC - CENTRO TECNOLÓGICO INE - DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DISCIPLINA DE COMPUTAÇÃO COM OBJETOS DISTRIBUÍDOS.
Engenharia de Software
Capítulo 6: SAD – Arquitetura e aspectos de rede e segurança
Programação para internet através de Applet Java
Orientação a Objetos e Java Graduação em Ciência da Computação Alexandre Mota © Centro de Informática, UFPE.
GOTO. Project treinamento expresso j2me Luiz Carlos d´Oleron lcadb at cin.ufpe.br.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
RMI Java Remote Method Invocation em Java. Introdução Java Remote Method Invocation (Java RMI) permite desenvolver sistemas distribuídos baseados em Java.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Por que Redes? Estamos cercados por redes: supermercados, lojas, bancos, cinemas, farmácias e inúmeros outros lugares; Com a queda do custo de implementação.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Programação Gráfica em Java Swing Aula Na aula passada vimos: Thread Animação Técnica de desenho eficiente (double-bufferring)
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2.
Programação Gráfica em Java Applet Aula Na aula passada vimos: Swing: Por quê Swing Estratégia MVC (model-view-controller) Componentes AWT - semelhantes.
Transcrição da apresentação:

Orientação a Objetos e Java Graduação em Ciência da Computação Paulo Borba © Centro de Informática, UFPE

AWT e Applets Objetivo Depois desta aula você será capaz de desenvolver sistemas mais amigáveis, através da implementação de interfaces gráficas simples para os usuários. Em particular, estas interfaces poderão ser utilizadas através da WWW.

AWT e Applets Leitura prévia essencial Capítulos 10 e 11, e vários exemplos em diversos capítulos, do livro Java: how to program (de Harvey e Paul Deitel)

World Wide Web (WWW) Sistema de informação mundial Documentos em HTMLHTML Usa funções básicas da Internet Clientes e servidores

Clientes e Servidores WWW Cliente Servidor (URL)

Por que Java? WWW mais interativainterativa –Documentos animados, dinâmicosanimados –Ensino a distância, telemedicina –Comércio eletrônico Utilização de software pela Internet –Independência de plataforma –Atualizações e instalações transparentes –Aluguel de software

Java e a Evolução da WWW Helpers e plug-ins Processamento no cliente: applets Backchannels Sistemas de informação distribuídos ou cliente/servidor de alto desempenho Servlets Java Server Pages

Applets versus HTML+CGI+Javascript Applets eliminam gargalos: –cliente fala direto com o servidor da aplicação (usando objetos ao invés de strings) –qualquer tipo de processamento pode ser feito no cliente –carga do servidor pode ser distribuída Java é uma linguagem de programação que dá suporte a princípios de engenharia de software Problemas: eficiência e portabilidade

WWW e Java: InteraçãoInteração Applets são programas Java disponibilizados via WWW, através de uma página HTML... <applet codebase=“ code=“Classe.class” width=10 height=90> “Perdeu de ver um applet!”...

Definindo Applets import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet {HelloWorld public void paint(Graphics grafico) { grafico.drawString(“Olá Pessoal!”, 40, 50); }

AppletBanco: Atributos public class AppletBanco extends Applet {AppletBanco //Ligação com a Fachada private Banco banco = null; //Controles Button buttonProcurar = new Button(); Label labelValor = new Label(); TextField textFieldVal = new TextField(); Button buttonDebito = new Button();...

Container e Controles Controle Container Controle Container

Componentes do AWT Containers –Container –Panel –Window –Frame –Dialog –Applet –... Controles –Button –Canvas –Label –TextField –Choice –List –...

Container e Controles AppletBanco Button TextField Label TextField Label Panel

Comunicação entre Containers e Controles: Eventos AppletBanco Button TextField Label TextField Label Panel actionPerformedaddActionListener

Eventos com Adaptadores AppletBanco Button Adapter addActionListener actionPerformed buttonProcurar_actionPerformed

AppletBanco: Inicialização public void init() {... buttonProcurar.setLabel("Procurar"); labelValor.setText("Valor:"); textFieldVal.setBounds(127, 114, 87, 26); buttonProcurar.addActionListener( new ButtonProcurarAdapter(this)); this.setLayout(null); this.setSize(400,300); this.setBackground(Color.lightGray); this.add(buttonProcurar, null); this.add(labelValor, null); this.add(textFieldVal, null);...

AppletBanco:Tratamento de Eventos void buttonProcurar_actionPerformed (ActionEvent e) { String num = textFieldNum.getText(); try{ Conta c = banco.procurar(num); Double s = new Double(c.getSaldo()); textFieldNumEsc.setText(c.getNumero()); textFieldSaldoEsc.setText(s.toString()); } catch (CNEException cnee) { DialogAviso d; d = new DialogAviso("Conta inexistente”,...); d.setVisible(true);... } finally {textFieldNum.setText("");...} }

AppletBanco: Adaptadores class ButtonProcurarAdapter implements java.awt.event.ActionListener { AppletBanco adaptee; ButtonProcurarAdapter(AppletBanco adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.buttonProcurar_actionPerformed(e); }

Applets: Aspectos de Segurança Applets devem satisfazer várias restrições, impostas pelos folheadores: –não ter acesso a arquivos do cliente –só se conectar com o servidor de origem –não usar métodos nativos Restrições podem ser eliminadas para applets assinados e transmitidos de forma segura!

Programação Visual com o JBuilder Vários pacotes: –AWT, Swing, JBCL, KL Group –Cuidado ao misturar classes de pacotes diferentes –Suporte ao Swing ainda não é estável –Exportar pacotes extra-JDK junto com o sistema Configurar o JBuilder para não gerar inner classes

AWT e Applets Resumo Java e a evolução da WWW Applets e a classe Applet Componentes do AWT, containers e controles Comunicação baseada em eventos Applets e aspectos de segurança

AWT e Applets Leitura adicional Capítulo 13 do livro Thinking in Java (de Bruce Eckel) Capítulos 1, 12, 13, e 14 do livro A Programmer’s Guide to Java Certification (de Khalid Mughal e Rolf Rasmussen) Pacotes da API de Java: java.applet e java.securit

Lixo public class ClassesPrivadas { public void m() { X x = new X(); Y y = new Y(); } public static void main(String[] args) { ClassesPrivadas cp = new ClassesPrivadas(); Y y = new Y(); // erro: Y y = cp.new Y(); // erro: Y y = ClassesPrivadas.new Y(); X x = cp.new X(); // erro: X x = new X(); } private class X {} private static class Y {} }