Especialização em Engenharia de Software - CEUT

Documentos relacionados
Roteiro para criação de Applet

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

Desenvolvendo aplicações

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Técnicas de Programação II

Curso de Aprendizado Industrial Desenvolvedor WEB

MÓDULO 4 SWING Parte 3

Natureza do Software e dos Sistemas

Caso não exista nenhum listener registado no objecto que gera o evento, este não terá qualquer efeito.

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos em Java. GUI Graphical User Interface

Programação Orientada a Objetos

Criação de Applets com o JBuilder Professor Sérgio Furgeri

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I E J

Programação Orientada a Objetos II

Is Event Dispatcher Threade (Animation)

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing

Java First-Tier: Aplicações. Construção de Applets. Applets. Applets: Internet Intranet

Programação Java. Construção de Applets

Métodos da classe Applet Criando applets Passando parâmetros de uma página HTML Migrando de uma aplicação para uma applet Applets vs.

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

Programação em Rede JDBC

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

package br.com.cadastro.visao;

Programação de Computadores - I. Profª Beatriz Profº Israel

Guia de Fatores de Qualidade de OO e Java

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: imagecomposite FACULDADE DE TECNOLOGIA SENAC PELOTAS

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

INTRODUÇÃO À TECNOLOGIA SERVLETS

Repeater no GASweb. Regiões

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

Arquitetura de Tratamento de Eventos em Programas com GUI - Graphical User Interface

USANDO APPLETS NO NETBEANS (WEB APPLICATION)...E A APPLET CHAMA ALGUM PACOTE EXTERNO (por Luis Alberto M Palhares de Melo Julho/2011)

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Tratamento de Eventos

Orientação a Objetos com Java

Jogo Da Velha. - Parte 1 - Fazendo a parte gráfica do jogo da Velha

1 Criando um aplicativo visual em Java

Padrão Arquitetura em Camadas

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1)

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Pacote Java Swing Parte 1

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Introdução à Programação. Interfaces Gráficas

Programação Orientada a Objetos II

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

Programação Visual em Java

Linguagens de Programação

Programação por Objectos. Java

PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda

2 Orientação a objetos na prática

Criando interfaces com o usuário. Continuação

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Neste tutorial apresentaremos as vantagens e facilidades de usar a ferramenta de Deployment Java Web Start.

Aula 06 Usando controles em ASP.NET

Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:

Capítulo 12 Eventos de interacção

Java 2 Standard Edition Como criar classes e objetos

UNIVERSIDADE FEDERAL DO PARANÁ

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

JAVA. Marcio de Carvalho Victorino. Interface Gráfica em Java (GUI)

Objetivos do Curso. Você será capaz de:

Programação Gráfica em Java.

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

J550 Integração com Bancos de Dados

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Módulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Programando GUIs

JSP - ORIENTADO A OBJETOS

Criação de uma aplicação usando Servlets

Roteiro do Programa e Entrada/Saída

insfcanceof new public switch transient while byte continue extends for int null

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand

Exemplo com SWING 1: Fazer uma aplicação, em Java, que tenha, na tela, uma JProgressBar, um JLabel e um JButton.

Prototype, um Design Patterns de Criação

Análise de Programação

Projeto de Software Orientado a Objeto

Capítulo 4. Programação em ASP

Introdução à linguagem Java

Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.

A Linguagem Java. Apresentação. Java. A Linguagem da Internet

Computação II Orientação a Objetos

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Adicionando Caixas de Verificação no seu Programa Java

Design Patterns (Factory Method, Prototype, Singleton)

Servlets e Applets, funcionamento e comparativo.

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve

8. Interfaces Gráficas de Usuário

Transcrição:

Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de negócio interface e classe que armazena contas Mas ainda não temos uma interface decente com o usuário 2 Interfaces gráficas em Java Clientes e Servidores WWW Por ser em Java as interfaces gráficas criadas estão aptas a serem executadas pela internet Um applet é um programa Java que executa na internet Subclasse de java.applet.applet Cliente JVM Applet http://www.cin.ufpe.br/ip.html (URL) Applet.class Applet <BODY> <UL>. </UL> Servidor web JVM Servidor.class 3 4 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 dá suporte a princípios de engenharia de software Problemas: eficiência e portabilidade WWW e Java: Interação Applets são programas Java disponibilizados via WWW, através de uma página HTML <HTML> <applet codebase= http://www.cin.ufpe.br/ip code=.class width=10 height=90> </applet> </HTML> 5 6 gráficas 1

: Atributos (como qualquer outra classe Java) Container e s public class extends Applet { //Ligação com o banco private Banco fachada = null; //s Button buttonprocurar = new Button(); Label labelvalor = new Label(); TextField textfieldval = new TextField(); Button buttondebito = new Button(); Container Container 7 8 Componentes do AWT Container e s Containers Container Panel Window Frame Dialog Applet s Button Canvas Label TextField Choice List Label TextField Button Panel TextField Label Mesmos componentes do Swing acrescentando J no inicio do nome 9 10 Container e s Número Saldo Saldo Mas como os controles e os componentes se comunicam? Comunicação por eventos editor vs assinante (publisher vs subscriber) Editora vs. Assinante do jornal Botão é a editora Avisa aos assinantes quando for clicado Applet é o assinante Pede ao botão para ser avisado 11 12 gráficas 2

Em Java Objetos se comunicam através de métodos Eventos = Comunicação assíncrona O applet chama um método do botão para assinar o serviço O botão chama um método do applet para avisar quando for clicado 13 Vamos implementar um botão public class Botao { private Object[] assinantes; private int indice; public void assinar(object o) { assinantes[indice] = o; indice++ private void avisa() { for(int i=0; i < indice; i++) { assinantes[i].botaoclicado(); Tem esse método em Object? 14 Mas espera O botão tem de chamar sempre um mesmo método dos assinantes Como obrigar que todo assinante tenha esse mesmo método? Uma interface para assinante public interface Assinante { void botaoclicado(); Lembram de interfaces? Vamos mudar o botão para aceitar apenas assinantes 15 16 Vamos implementar um botão public class Botao { private Assinante[] assinantes; private int indice; public void assinar(assinante o) { assinantes[indice] = o; indice++ private void avisa() { for(int i=0; i < indice; i++) { assinantes[i].botaoclicado(); Agora sim! 17 Mas em Java Os nomes são ligeiramente diferentes Assinante é ActionListener botaoclicado é actionperformed 18 gráficas 3

Comunicação entre Containers e s: Eventos addactionlistener Label Button TextField actionperformed TextField Panel Label 19 : Inicialização public void init() { javax.swing.jlabel lb_title = new JLabel(); jcontentpane = new javax.swing.jpanel(); jcontentpane.setlayout(null); lb_title.setbounds(63, 14, 178, 23); lb_title.settext("applet Banco"); jcontentpane.add(lb_title, null); jcontentpane.add(getjtextfield(), null); jcontentpane.add(getjtextfield2(), null); jcontentpane.add(getjbutton(), null); jcontentpane.add(getjbutton2(), null); 20 :Tratamento de Eventos :Tratamento de Eventos private JButton getjbutton2() { if (bt_creditar == null) { bt_creditar = new JButton(); bt_creditar.setbounds(197, 79, 86, 25); bt_creditar.settext("creditar"); bt_creditar.addactionlistener(assinante); return bt_creditar; Na verdade o código gerado é um pouco mais confuso new java.awt.event.actionlistener() { private JButton getjbutton2() {... if (bt_creditar == null) { bt_creditar = new JButton(); bt_creditar.setbounds(197, 79, 86, 25); bt_creditar.settext("creditar"); bt_creditar.addactionlistener(...); return bt_creditar; public void actionperformed(actionevent e) { creditar(); 21 22 private void creditar() { String numero = this.tf_numero.gettext(); String v = tf_valor.gettext(); try { double valor = new Double(v).doubleValue(); banco.creditar(numero, valor); "Crédito executado com sucesso!"); catch (ContaNaoEncontradaException e) { "Conta " + numero + " nao existe!"); catch (NumberFormatException e) { "Digite um número!"); finally { Programação Orientada a Objetos - Programação com interfaces gráficas 23 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! 24 gráficas 4

Exercício Vamos executar o roteiro em http://www.cin.ufpe.br/~scbs/gui/ 25 gráficas 5