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

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

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

Is Event Dispatcher Threade (Animation)

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

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

Programação Gráfica em Java.

MÓDULO 4 SWING Parte 3

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

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

Interfaces Gráficas: Interações Complexas

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

Crie dois pacotes: jogo e imagens Coloque as imagens da cobra, da fruta e da parede no pacote imagens Crie uma nova classe chamada Cobra no pacote

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

Introdução a Java. Hélder Nunes

2 Orientação a objetos na prática

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Noções sobre Objetos e Classes

package br.com.cadastro.visao;

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

Como usar a documentaçã

Implementando uma Classe e Criando Objetos a partir dela

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

Orientação a Objetos

Tratamento de Eventos

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.

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

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

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.

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

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

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

{ System.exit(0); Exemplo (WindowAdapter) import java.awt.*; import java.awt.event.*;

Módulo 07 Características Avançadas de Classes

Técnicas de Programação II

Especialização em Engenharia de Software - CEUT

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

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

JSP - ORIENTADO A OBJETOS

Programação Orientada a Objetos (DPADF 0063)

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

THREADS EM JAVA. George Gomes Cabral

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Prototype, um Design Patterns de Criação

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

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

Como criar Gif s Animados. - Utilizando o Paint. e o Image Ready

Programação Orientada a Objetos em Java. Threads Threads Threads. Threads

Programação online em Java

Java. Marcio de Carvalho Victorino

Programação por Objectos. Java

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

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Informática I. Aula 6. Aula 6-12/09/2007 1

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

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

Configurar o Furbot no Eclipse

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Programação por Objectos. Java

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

CURSO DE PROGRAMAÇÃO EM JAVA

Sobre o Professor Dr. Sylvio Barbon Junior

Análise e Projeto Orientados por Objetos

Programação Orientada a Objetos em java. Polimorfismo

NetBeans. Conhecendo um pouco da IDE

Prof. Esp. Adriano Carvalho

Sintaxe Básica de Java Parte 1

Curso de Aprendizado Industrial Desenvolvedor WEB

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

DEFINIÇÃO DE MÉTODOS

Java 2 Standard Edition Como criar classes e objetos

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Programação Orientada a Objetos

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Natureza do Software e dos Sistemas

INTRODUÇÃO À TECNOLOGIA SERVLETS

Criar a classe Aula.java com o seguinte código: Compilar e Executar

IMAGEM REFLECTIDA NA ÁGUA

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Desenvolvimento OO com Java Orientação a objetos básica

Algoritmos e Programação Estruturada

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

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

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Universidade da Beira Interior. Sistemas Distribuídos

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

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Trabalho GA - Editor de Cenário Parallax

Roteiro para criação de Applet

Transcrição:

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Paulo Renato S. Veiga Identificação da Turma: 205 Noite Data: 16/05/10

1 Nome da Propriedade FontSizeAnimation 1.1 Introdução e Funcionamento A propriedade escolhida foi uma fonte com animação de tamanho (FontSizeAnimation), ao rodar o código pela JVM, a frase que foi escrita vem aumentando gradativamente seu tamanho. Podemos colocar uma letra, frases ou números, pois todo conteúdo e transformado em strings que será convertido em gráfico através do método paint que recebe como parâmetro a variável g do tipo Graphics, que por sua vez é uma classe que tem base abstrata. A public class FontSizeAnimation extends JPanel implements ActionListener é uma classe estendida da super classe JPanel. Nessa classe será incluído, um construtor, dois métodos vazios sem retorno e um método principal (man). Dentro mesma é criado uma variável timer do tipo Timer e outras duas variáveis, uma do tipo int e outra do tipo float que serão utilizadas para o construtor. O public FontSizeAnimation por ter o mesmo nome da classe recebe o nome de construtor. Em suas propriedades é criado um novo objeto chamado timer, o mesmo não utiliza de variáveis referencia para acessar as propriedades timer. É o próprio timer que recebe o operador PONTO para acessar a propriedade setinitialdelay que irá informar o tempo que a animação irá começar. O método public void paint(graphics g), é responsável por receber as informações de texto, que poderá ser posicionado nas coordenadas x e y através da propriedade width e Height que significa largura e altura. Para converter em gráfico o texto escrito, é criado uma variável de referencia chamado de g2d instanciada pela classe Graphics2D e é atribuída a ela a classe Graphics2D. Em seguida é criado um novo objeto com o operador new que é chamado de Font que utiliza a variável de referencia font da classe Font. Essa necessidade se teve porque a classe Graphics2D é classe estendida da classe Graphics que por sua vez é abstract, com isso poderemos acessar as propriedade da variável g2d com o operador PONTO exemplo.setfont e atribuir a variável font. São declaradas variáveis string para o recebimento do texto, variáveis do tipo int para o retorno de tamanho da largura e altura. As variáveis do tipo int que recebem atribuição do tamanho largura e altura da font para utilizar a classe g2g com operador PONTO chamar propriedade drawstring para desenhar as coordenadas na tela. O método actionperformed() é reponsável pela interatividade, foi utilizado um contador e um repetidor para esta ação. Se for utilizado o sinal de negativo ao invés de positivo a imagem vira de cabeça para baixo, foi feito comentários na linha do alpha mas continuou executando perfeitamente o FontSizeAnimation. O método principal public static void main(string[] args) é reponsável pela apresentação do projeto. Nele são feitos alterações do tipo, tamanho do frame, cor da fonte e entre outros, através do operador ponto configurando as propriedades do objeto que foi criado chamado o frame. Faculdade Senac Pelotas Página 2

1.2 Código da aplicação com algumas modificações e comentários. package trabalho; import java.awt.color; 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(40, this); timer.setinitialdelay(500); //tempo de inicialização do FontAnimation timer.start(); // comando que serve para dar com inicio ao objeto public void paint(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D) g; // Font font = new Font("Comic Sans MS", Font.PLAIN, x);//legal dentro das aspas duplas podemos // o tipo de fonte; g2d.setfont(font); FontMetrics fm = g2d.getfontmetrics();// variavel referencia fm do tipo grafico 2d; String s = "Boa noite turma do ADS"; String p = "Java aplicações Gráficas"; //foi criado, declarei outra variavel; int w = (int) getsize().getwidth(); int h = (int) getsize().getheight(); Faculdade Senac Pelotas Página 3

JAVA DESENVOLVENDO APLICAÇÕES GRÁFICAS int stringwidth = fm.stringwidth(s); int stringheight = fm.stringwidth(s); g2d.drawstring(s, (w - stringwidth) / 2, h / 5); //cordenadas x e y do texto; g2d.drawstring(p, (w - stringwidth) / 2, h / 1);// foi criado para apresentar outro //texto; public static void main(string[] args) { JFrame frame = new JFrame("FontSizeAnimation"); //foi criado um novo objeto chamado // frame da classe JFrame e foi passado um arqumento, "FontSizeAnimation",isto se //dá porque foi criado um construtor na classe JFrame; frame.add(new FontSizeAnimation()); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(800, 300); // a propriedade setsize informa o tamanho da janela //JFrame dispondo largura e altura; frame.setlocationrelativeto(null); frame.settitle("criado por Paulo Veiga"); // a propriedade settitle que foi criado, //foi utilizado para incluir o titulo na barra titulo; frame.setbounds(0,100,800,400); //a propriedade setbounds que foi criado,redimensiona //e posiciona JFrame. Primeiro valor cordenada x, segundo cordenada y,terceiro //largura e quarto altura; frame.setvisible(true); frame.setforeground(color.blue.darker());// foi utilizado a propriedade foreground para //troca cor de fundo da fonte; public void actionperformed(actionevent e) { x += 1; // aqui fica o incremento dando ação de movimento a fonte // se for utilizado o sinal de -+=1 a posição da fonte fica invertida. alpha -= 0.0001; // foi aplicado comentário mas nada aconteceu. repaint(); // comando que serve para repetir o incremento. 1.3 Propriedades utilizadas import java.awt.font: A classe Font representa fontes, que são usados para processar texto, de forma visível. Uma fonte fornece as informações necessárias para seqüências mapa de caracteres para seqüências de glifos e tornar as seqüências de glifos em gráficos e objetos de componentes. import java.awt.fontmetrics: A classe FontMetrics define uma métrica font objeto, que encapsula informações sobre o processamento de uma fonte particular em uma tela especial. Faculdade Senac Pelotas Página 4

import java.awt.graphics: É uma classe tem base abstrata para todos os contextos gráficos que permitem um aplicativo desenhar sobre os componentes que são realizados em vários dispositivos. import java.awt.graphics2d: Esta classe estende a classe Graphics para proporcionar um controle mais sofisticado sobre a geometria, transformação de coordenadas, gerenciamento de cores, layout e texto. Esta é a classe fundamental para tornar as formas em duas dimensões, textos e imagens sobre o Java. import java.awt.event.actionevent: Um acontecimento que indica que uma ação ocorreu no componente definido, este evento de alto nível é gerado por um componente exemplo um botão. import java.awt.event.actionlistener: Responsável por atualizar a tela, uma vez que ele vai incrementando um novo evento. import javax.swing.jframe: Janela responsável pela apresentação do projeto. import javax.swing.jpanel: É um nome genérico dado ao container, que serve para guardar exemplos e documentação de tarefas dos painéis. import javax.swing.timer: Responsável pelo tempo de execução inicial da animação do FontSizeAnimation. 1.4 Visualização da Ferramenta em Funcionamento Faculdade Senac Pelotas Página 5

1.5 Conclusão Para mim, a realização deste trabalho foi de extrema importância, pois, foi onde pude associar o conteúdo teórico dado em sala de aula com a pratico da programação orientada a objetos. Com a proposta do trabalho compreendida, que nem tudo que existia no projeto nós conseguiríamos associar ao conteúdo dado. Foi necessário buscar informações externas complementares e fazer abstração geral de tudo, para entender as funcionalidades do projeto. Com isso obtive conhecimento em varias propriedades pela qual não tinha visto ainda. Faculdade Senac Pelotas Página 6