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

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

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

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

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

Técnicas de Programação II

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Introdução à Programação Gráfica em Java

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Is Event Dispatcher Threade (Animation)

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Módulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

A classe JTextField

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Java para Desktop. Programação Orientada à Objetos 2 JSE

package br.com.cadastro.visao;

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

HABILITANDO A IDE DO ECLIPSE

Programação Gráfica Parte 3 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Programação Orientada a Objetos

Programação por Objectos. Java

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Programação Orientada a Objetos

Como tratar eventos - A interface ActionListener e o método actionperformed

MÓDULO 4 SWING Parte 3

Conceitos Básicos da Programação OO

Computação II Orientação a Objetos

Introdução à Tecnologia Java 02/2012. Java Aula 04 MDI. 05/09/2012 Celso Olivete Júnior.

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Linguagem de Programação Visual

Programação Orientada a Objetos

Interface gráfica em Java: Swing e SWT

Java FX. Grupo: Alexandre Henrique Marcelo Scheidt Rafael M. Motta Ricardo C. Knoll

8. Interfaces Gráficas de Usuário

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Interfaces Gráficas: Interações Complexas

Aplicações de Linguagem de Programação Orientada a Objeto

Threads. O que é uma Thread? Paralelismo

Capturando Entrada de Dados Através do Teclado

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

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

OO - Orientação a Objetos

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Tipos, Literais, Operadores

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Programação Orientada a Objetos em Java

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

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

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012

Introdução ao Processamento de Imagens Digitais em Java com Aplicações em Ciências Espaciais

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

Programação III. Applet - Conceitos. Applets Jocélio Passos Acrescentado métodos à classe JUtil

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

9 Classes Abstractas e Interfaces

Capítulo 23. às s Interfaces Gráficas. Introdução. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

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

. Uma instância da classe JTextField gera uma instância da classe ActionEvent quando o objecto está activo e o utilizador pressiona a tecla ENTER.

Métodos e Procedimentos. Prof. Jesus José de Oliveira Neto

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Java - Swing. Raphaela Galhardo raphaela@j2eebrasil.com.br

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM

Vetores Unimensionais

Linguagem de programação métodos/funções

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Diagrama de Classes. Conceitos Básicos. prof. Robinson Vida Monday, April 20, 15

Programação por Objectos. Java

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo

Lição 4 Fundamentos da programação

AULA 15 CONSTRUTORES. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

JAVA 3D. PSI5789 Síntese de Imagens Professor: Márcio Lobo Netto Aluna: Alice Shimada Bacic. 1 Java 3D API

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Programação Orientada a Objetos

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Desenvolvimento de Aplicações Desktop

Programação de Computadores II TCC /Turma A 1

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

Interfaces Gráficas: Interações Complexas

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

PROGRAMAÇÃO JAVA. Parte 3

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Especialização em Engenharia de Software - CEUT

Transcrição:

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Guilherme Faria Quental Identificação da Turma: Análise e Desenvolvimento de Sistemas - 3º Semestre / Manhã Data: 11/05/2010

1 Font size Animation 1.1 Introdução e Funcionamento A propriedade escolhida foi uma animação onde o tamanho da fonte de escrita vai sendo aumentado de acordo com o passar do tempo. Nele podemos observar que temos um temporizador, no qual é definido um tempo de duração, que controla uma animação, onde uma fonte vai aumentando de tamanho de acordo com o número inteiro alocado na variável x. Para essa atualização foi usado um "receptor de ações", sendo que neste caso a "ação" é cada passada de tempo no timer, que aumenta a variável x em 1 e atualiza a tela. 1.2 Código da aplicação import java.awt.font; import java.awt.fontmetrics; import java.awt.graphics; import java.awt.graphics2d; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.timer; public class FontSizeAnimation extends JPanel implements ActionListener { Timer timer; int x = 1; float alpha = 1; public FontSizeAnimation() { timer = new Timer(8, this); timer.setinitialdelay(190); timer.start(); public void paint(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D) g; Font font = new Font("Dialog", Font.PLAIN, x); g2d.setfont(font); FontMetrics fm = g2d.getfontmetrics(); String s = "Java"; Faculdade Senac Pelotas Página 2

int w = (int) getsize().getwidth(); int h = (int) getsize().getheight(); int stringwidth = fm.stringwidth(s); g2d.drawstring(s, (w - stringwidth) / 2, h / 2); public static void main(string[] args) { JFrame frame = new JFrame("FontSizeAnimation"); frame.add(new FontSizeAnimation()); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(400, 300); frame.setlocationrelativeto(null); frame.setvisible(true); public void actionperformed(actionevent e) { x += 1; alpha -= 0.0001; repaint(); 1.3 Propriedades utilizadas Nesse programa podemos observar que são importadas diversas classes, sendo elas: Font, FontMetrics, Graphics e Graphics2D, as quais fazem parte do pacote gráfico e tem as respectivas funcionalidades: definir e configurar a fonte que será utilizada; obter o tamanho específico da fonte que está sendo apresentada na tela; classe para manipulação e apresentação gráfica do java; atualização da classe Graphics para o padrão orientado à objetos. Depois temos, ainda no pacote awt, as classes ActionListener e ActionPerformed. Nelas, temos uma breve visualização de como a orientação à eventos funciona no Java, pois as duas são basicamente isso, onde o ActionListener é uma interface que adiciona ao programa que a implementa um tipo de espera, que aguarda pelo ActionPerformed, que geralmente contêm blocos de código. Podemos fazer uma alusão dessas duas classes ao par try/catch, onde a classe implementando o ActionListener seria um try e os ActionPerformed seriam os Exceptions. Por último temos os imports do Swing, que é uma outra classe gráfica do Java, os quais são: JFrame, JLabel e Timer. Essas são as classes principais de apresentação desse programa, onde o JFrame gera uma janela no Desktop, o JLabel cria no JFrame um espaço onde alocamos nossa parte gráfica e a classe Timer serve para manipulação de tempo, tal como definir uma duração para uma animação e outras ações, como também tempo de delay. Classe FontSizeAnimation: Nela temos a classe FontSizeAnimation que extende a classe JLabel do pacote gráfico swing, pois mais tarde, a apresentação gráfica desse programa será apresentando dentro de um JFrame, então, Faculdade Senac Pelotas Página 3

para que possamos fazer isso diretamente com a classe, basta estender a classe pai para ficar com todos as suas instâncias e métodos. Também podemos observar que ela implementa a interface ActionListener, conforme foi comentando mais acima. No quesito variáveis de instância, observamos a criação de 3: o início da alocação de uma classe Timer, uma variável inteira x, que servirá para o controle de tamanho da String e a variável alpha, a qual, embora não tenha sido utilizada, provavelmente serviria para trabalhar com a transparência da palavra. Construtor: Nessa classe temos um construtor padrão que não recebe nenhum argumento, nele, temos o fim da alocação da classe Timer, onde é definido o tempo dela e é apontado o this. Como o this faz referência à classe principal e não temos nenhuma subdivisão dentro do mesmo, pode ser interpretado que esse this está referenciando à classe inteira, ou seja, o método main dela. Há também o uso de mais dois métodos do Timer, um para definir um tempo de espera inicial (delay) e outro para começar a ação de fato. Métodos Paint: O método paint pode ser entendido como o main das aplicações gráficas, podemos observar que ele contêm toda a parte que irá desenhar algo na tela, sejam retângulos, elipses, quadrados, triângulos, textos, etc. Como argumento no início desse método, foi definido uma variável de inatância à objeto, g, a qual está ligada a Classe Graphics, sendo essa a principal classe de apresentação gráfica do Java até hoje. A classe Graphics contém todos os tipos básicos de formas geométricas, que, se usadas em conjunto, podem formar diversos tipos de desenhos, dependendo somente da criatividade e da habilidade do programador. Como mais tarde usaremos essa parte gráfica dentro de um JFrame, temos de usar alguns atributos utilizados no JLabel, por isso chamamos o super, onde usamos um método da classe pai, para que essa apresentação possa funcionar perfeitamente dentro de uma JFrame. Continuando, como estamos em uma nova era de programação, onde obviamente o padrão orientado à objetos é de fato o mais utilizado, teve de ser criada a classe Graphics2D, que atualiza a antiga classe Graphics para esse novo tipo de paradigma, conforme já foi comentado mais acima. Em vista disso, criamos uma variável do tipo Graphics2D e para ela atribuimos a variável do tipo Graphics, a tranformando para Graphics2D. Feito isso, torna-se possível usar todos os benefícios da orientação à objetos. Temos a criação de uma variável font do tipo Font, onde temos 3 argumentos: 1º: Define o tipo da fonte, por exemplo, Dialog, Sans-Serif, etc. 2º: Define a orientação da fonte: PLAIN, BOLD, ITALIC. 3º: Define o tamanho da fonte. Após escolhida a fonte, usamos um método do Graphics2D, para utilizar a fonte configurada previamente, o setfont. Também é observado o uso da classe FontMetrics, a qual torna possível a obtenção do valor avançado de tamanho do texto na tela, o qual está sendo armazenado na variável fm. Tendo sido feitas todas as configurações necessárias, é definida a String que será utilizada e é feito um cálculo de sua altura e tamanho, com o auxílio do FontMetrics, para definir uma posição posterior para ela na tela. Enfim, é desenhado na tela o texto desejado, com o método drawstring. Faculdade Senac Pelotas Página 4

Main: No método main temos o que será executado primeiramente no programa, onde são usadas as classes do swing para gerar uma janela que se adaptará ao padrão temático do desktop que o sistema operacional está utlizando no momento. Nele podemos observar que definimos um título e tamanho para a janela. Após isso há a inserção de toda a parte gráfica feita previamente e também as temos configurações finais, tal como método de fechar a janela, visibilidade e posicionamento. ActionPerformed: Por fim, temos esse método que fica aguardando alguma ação ser realizada, em vista de seu argumento, que usa a classe ActionPerformed (comentada mais acima). Podemos observar que o que ativa esse evento é cada passada de tempo da classe Timer. A cada ação realizada, pode ser entendido que a variável x é aumentada em 1 e a tela é repintada. 1.4 Visualização da Ferramenta em Funcionamento Faculdade Senac Pelotas Página 5

1.5 Conclusão Pude aprender muito com esse trabalho, pois tive um breve entendimento de como funciona a orientação à eventos no Java, como também como o mesmo trabalho com a parte Gráfica. Aprendi a controlar totalmente o desenho de elementos, tendo também uma ideia do procedimento para realizar uma animação, usando o método repaint. Faculdade Senac Pelotas Página 6