JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Resize Shape Basic Shape 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

Is Event Dispatcher Threade (Animation)

Interfaces Gráficas: Interações Complexas

Programação Gráfica em Java.

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

Tratamento de Eventos

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

Java. Marcio de Carvalho Victorino

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

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

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

Java 2 Standard Edition Como criar classes e objetos

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

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

MÓDULO 4 SWING Parte 3

Como usar a documentaçã

Programação Orientada a Objetos. Encapsulamento

NetBeans. Conhecendo um pouco da IDE

1 Criando um aplicativo visual em Java

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

Programação Orientada a Objetos em Java

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

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

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

package br.com.cadastro.visao;

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br)

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

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

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

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

Técnicas de Programação II

CAPA PARA OS CABOS DA CABEÇA

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.

Técnicas de Programação II

Projeto de Software Orientado a Objeto

Exercícios de Revisão Java Básico

SISTEMAS DISTRIBUÍDOS

PROGRAMAÇÃO EM C# COM VISUAL STUDIO.NET

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

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

Programação Orientada a Objetos

Noções sobre Objetos e Classes

Implementando uma Classe e Criando Objetos a partir dela

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

MANUAL PARA INCLUSÃO DIGITAL- ANDRAGOGIA

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

Aula 05 - Elementos e Organização de janelas

Reuso com Herança a e Composiçã

Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte II

8. Interfaces Gráficas de Usuário

Microsoft Office PowerPoint 2007

Programação Orientada a Objetos (DPADF 0063)

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

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Análise e Projeto Orientados por Objetos

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

JTABLE STUDENT CONTROL JSC Gil Eduardo de Andrade / Emílio Rudolfo Fey Neto

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

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

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Java TM e o Modelo de Objetos

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

Orientação a Objetos com Java

Técnicas de Programação II

Prof. Fernando V. Paulovich 3 de maio de SCC Computação Gráca

Conversão de Tipos e Arrays

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

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

2 Orientação a objetos na prática

Herança. Alberto Costa Neto DComp - UFS

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

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

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

Classes Abstratas e Interfaces

Capítulo 4. Packages e interfaces

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Manual de operação do sistema Desenhador Geográfico. 05/2012 Versão

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

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

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

Prof. Esp. Adriano Carvalho

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

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

Sobre o Professor Dr. Sylvio Barbon Junior

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Programação de Computadores e Robocode.

Keeper of Knowledge. Capítulo 2 Classes em Java

Módulo 06 Desenho de Classes

Transcrição:

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Resize Shape Basic Shape FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Marri Souza da Luz Identificação da Turma: 3º ADS - Noite Data: 13/05/2010

1 Nome da Propriedade Resize a shape 1.1 Introdução e Funcionamento Esta propriedade trata das dimenssões de uma forma(shape), proporcionando redimensionar o seu tamanho sempre que disparados eventos executados pelo mouse. A aplicação desenha uma forma retangular na tela com pontos em suas diagonais, ao clicar nos pontos é possível redimensionar a forma movendo o ponto em alguma direção. 1.2 Código da aplicação import java.awt.graphics; import java.awt.graphics2d; import java.awt.point; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; import java.awt.geom.rectangle2d; import javax.swing.jframe; import javax.swing.jpanel; public class ResizeRectangle extends JPanel { private int SIZE = 8; private Rectangle2D[] points = { new Rectangle2D.Double(50, 50,SIZE, SIZE ), new Rectangle2D.Double(150, 100,SIZE, SIZE) ; Rectangle2D s = new Rectangle2D.Double(); ShapeResizeHandler ada = new ShapeResizeHandler(); public ResizeRectangle() { addmouselistener(ada); addmousemotionlistener(ada); public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2 = (Graphics2D) g; for (int i = 0; i < points.length; i++) { g2.fill(points[i]); s.setrect(points[0].getcenterx(), points[0].getcentery(), Math.abs(points[1].getCenterX()-points[0].getCenterX()), Math.abs(points[1].getCenterY()- points[0].getcentery())); g2.draw(s); class ShapeResizeHandler extends MouseAdapter { Faculdade Senac Pelotas Página 2

Rectangle2D r = new Rectangle2D.Double(0,0,SIZE,SIZE); private int pos = -1; public void mousepressed(mouseevent event) { Point p = event.getpoint(); for (int i = 0; i < points.length; i++) { if (points[i].contains(p)) { pos = i; return; public void mousereleased(mouseevent event) { pos = -1; public void mousedragged(mouseevent event) { if (pos == -1) return; points[pos].setrect(event.getpoint().x,event.getpoint().y,points[pos].getwidth(), points[pos].getheight()); repaint(); public static void main(string[] args) { JFrame frame = new JFrame("Resize Rectangle"); frame.add(new ResizeRectangle()); frame.setsize(300, 300); frame.setlocationrelativeto(null); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); 1.3 Propriedades utilizadas package trabalhopoo; //importação das bibliotecas utilizadas nesta aplicação import java.awt.graphics; import java.awt.graphics2d; import java.awt.point; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; import java.awt.geom.rectangle2d; Faculdade Senac Pelotas Página 3

import javax.swing.jframe; import javax.swing.jpanel; //Criando uma classe estendendo a JPanel public class ResizeRectangle extends JPanel { //criou uma variável para dimensionar posições no vetor private int SIZE = 8; //criando um vetor Do tipo rectangle2d points private Rectangle2D[] points = { new Rectangle2D.Double(50, 50,SIZE, SIZE), new Rectangle2D.Double(150, 100,SIZE, SIZE) ; //criando outro objeto s do tipo Rectangle2D Rectangle2D s = new Rectangle2D.Double(); //objeto do tiposhaperesizehandler ShapeResizeHandler ada = new ShapeResizeHandler(); //método construtor public ResizeRectangle() { addmouselistener(ada); addmousemotionlistener(ada); public void paintcomponent(graphics g) { //chamando uma função da super-classe super.paintcomponent(g); Graphics2D g2 = (Graphics2D) g; //percorrer tamanho do vetor incrementando i //reinderizando (preenchendo) os pontos e criando a forma for (int i = 0; i < points.length; i++) { g2.fill(points[i]); //obtendo as coordenados do retatangulo através dos getcenter x e y s.setrect(points[0].getcenterx(), points[0].getcentery(), Math.abs(points[1].getCenterX()-points[0].getCenterX()), Math.abs(points[1].getCenterY()- points[0].getcentery())); //métodos Math.abs retorna o valor absoluto para calcular as dimencoes g2.draw(s); //classe estendida redimensionado com o mouse class ShapeResizeHandler extends MouseAdapter { Rectangle2D r = new Rectangle2D.Double(0,0,SIZE,SIZE); private int pos = -1; Faculdade Senac Pelotas Página 4

//método q dispara valor da variável quando pressionado o Mouse public void mousepressed(mouseevent event) { Point p = event. getpoint(); //Percorrer vetor em todo seu tamanho //incrementando i - para cada posisao //contem o objeto p - retornando as posições x e y for (int i = 0; i < points.length; i++) { if (points[i].contains(p)) { pos = i; return; //quando o mouse e liberado aciona este método public void mousereleased(mouseevent event) { //pos assume valor -1 pos = -1; //quando o mouse se meche e algum botão dele e pressionado JAVA DESENVOLVENDO APLICAÇÕES GRÁFICAS public void mousedragged(mouseevent event) { //if de verificação verifica se pos==1 //retorna if (pos == -1) return; // points[pos].setrect(event.getpoint().x,event.getpoint().y,points[pos].getwidth(), points[pos].getheight()); repaint(); //método principal q dispara todos os métodos mencionados nele public static void main(string[] args) { //instanciando uma classe //criando um objeto frame do tipo JFrame JFrame frame = new JFrame("Resize Rectangle"); //chamando os métodos frame.add(new ResizeRectangle()); //gerando o retangulo frame.setsize(300, 300); //passando os valores iniciais frame.setlocationrelativeto(null); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true);//tornando visivel Faculdade Senac Pelotas Página 5

1.4 Visualização da Ferramenta em Funcionamento JAVA DESENVOLVENDO APLICAÇÕES GRÁFICAS Criando o retângulo: Mudando o ponto x para outro ângulo: Faculdade Senac Pelotas Página 6

1.5 Conclusão Esta classe desenha e redimensiona um retângulo de acordo com os pontos iniciais definidos na variável SIZE. Através destes pontos o usuário altera sua forma, diminuindo, aumentando, encolhendo, expandindo, para direita, para esquerda para cima e para baixo. Esta alterações se dão através de eventos do mouse: mousepressed - dispara valor da variável quando pressionado o Mouse; mousereleased dispara quando o mouse e liberado; mousedragged - quando o mouse se meche e algum botão dele e pressionado dispara comandos; Técnicas utilizadas para construção da classe: Herança; Criação do Objeto(Instância da Classe); Método Construtor; Operador ponto, dando acesso os métodos e variáveis de Instância; Super Classe; Faculdade Senac Pelotas Página 7

A dificuldade de compreender a parte de criação e implementação do frame. Faculdade Senac Pelotas Página 8

2 Nome da Propriedade Basic Shape 2.1 Introdução e Funcionamento Esta propriedade molda linhas, curvas e quadrados apartir de um ponto inicial do desenho atual. 2.2 Código da aplicação package trabalhopoo; import java.awt.geom.generalpath; public class BasicShapes { public static void main(string[] args) { GeneralPath shape = new GeneralPath(); shape.moveto(1, 1); shape.lineto(2, 2); shape.quadto(3, 3, 4, 4); shape.curveto(5, 5, 6, 6, 7, 7); shape.closepath(); 2.3 Propriedades principais utilizadas package trabalhopoo; import java.awt.geom.generalpath; public class BasicShapes { //método principal public static void main(string[] args) { //Criando objeto do tipo GeneralPath GeneralPath shape = new GeneralPath(); //move a posição do desenho atual ate as posiçoes definidas em (x,y) shape.moveto(1, 1); //desenha uma linha apartir da posicao inicial do desenho atual shape.lineto(2, 2); //desenha um quadrado shape.quadto(3, 3, 4, 4); //desenha uma curva usando o estilo de linha atual a partir //da posição de desenho atual até (âncorax, âncoray) e //usando o ponto de controle especificado por (controlex, controley) shape.curveto(5, 5, 6, 6, 7, 7); Faculdade Senac Pelotas Página 9

//fecha o caminho shape.closepath(); 2.4 Visualização da Ferramenta em Funcionamento Não possui imagens a classe não está compilando. 2.5 Conclusão A dificuldade que encontrei no código foi de não conhecer a fundo a classe generalpath, assim dificulta a compreensão deste. As variáveis de instância ficaram subintendidas. Embora esta classe seja menor que a anterior é complicado para entender. Faculdade Senac Pelotas Página 10