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



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

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

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.

MÓDULO 4 SWING Parte 3

Programação Orientada a Objetos

Computação Gráfica. Visao Computacional. Visão Huma na e Compuacional

Exercícios 07 Introdução à POO (Interface Gráfica)

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

Computação Gráfica II

Técnicas de Programação II

Desenvolvimento de Aplicações Desktop

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

8. Interfaces Gráficas de Usuário

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

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 -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

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

Swing. Page 1. Swing. Prof. Anderson Augustinho Uniandrade

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

Sistema de Recursos Humanos

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

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

Marcelo Henrique dos Santos

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

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

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

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

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

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

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

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

Tratamento de Eventos

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.

Curso de Aprendizado Industrial Desenvolvedor WEB

Is Event Dispatcher Threade (Animation)

Gerenciadores de Layouts

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

Capítulo 31. Outros Recursos para Interfaces Gráficos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Interface Gráficas Parte I. Bruno Crestani Calegaro

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

Especialização em Engenharia de Software - CEUT

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

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

Java Exemplo MDI. Tela Principal

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

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

Encapsulamento de Dados

Interfaces Gráficas: Interações Complexas

APOSTILA WORD BÁSICO

Objetivos. Agenda 25/10/2009. Apresentar técnicas básicas que envolvem Processamento Digital de Imagens (PDI); Apresentar APIs Java voltada para PDI;

1 Criando um aplicativo visual em Java

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

Roteiro para criação de Applet

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

Prof. Fernando V. Paulovich 25 de julho de SCC Programação Orientada a Objetos

Programação Orientada a Objetos II

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

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

1.2. Pacote para o armazenamento das telas Agora, será necessário criarmos um novo pacote para armazenarmos as nossas telas:

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

Programação de Aplicações Gráficas em Java

Modulo I Swing Básico

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

Análise de Programação

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

Técnicas de Programação II

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

JFrame. JLabel : Utilizado como rótulo para exibição de texto e ícones. Interface Gráfica de JAVA - Graphical User Interface (GUI)

package br.com.cadastro.visao;

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

Programação Orientada a Objetos (DPADF 0063)

Construção de Interfaces Gráficas

Programação Orientada a Objetos em Java

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

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

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

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

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

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

Linguagem Java - Prof. Luciana Porcher Nedel 1. Um container genérico e visual. Ela trabalha em cooperação com o controle de layouts.

Elaborando as Interfaces Aulas 43, 44 e 45

Introdução a relatórios Crosstab com ireport/jasperreports

Classes Abstratas e Interfaces

Manual Web Viewer PACS Unimed Rio Claro -

Pacote Java Swing Parte 1

Aula 03 PowerPoint 2007

Natureza do Software e dos Sistemas

Iniciando o ArcView 3.2

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

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

Desenvolvimento de Aplicações para Internet Aula 7

Curso: Operador de Computador - PRONATEC. Prof.: Roberto Franciscatto. S.O. Windows Seven Gerenciamento Básico

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Sumário. 1 Explorando o Windows Gerenciando contas de usuário Parte 1 Conhecendo o Windows 7

UNIPAC-TO POOII. Java NetBeans. Aplicações visuais e componentes. Giovanni Camargo Silva giovanni@unipato.com.br

Transcrição:

Java Aula 04 GUI Swing MDI 05/09/2012 Celso Olivete Júnior olivete@fct.unesp.br 1

Exercício para aquecimento...utilize o pacote Swing C = (F-32)*5 ------------ 9 Celso Olivete Júnior 2

Dialog Windows (Swing) import java.io.file;... JFileChooser fc = new JFileChooser("c:\\"); fc.showopendialog(this); File myfile = fc.getselectedfile(); System.out.println(myFile.getName()); Celso Olivete Júnior 3

FileFilter Utilizada para a implementação de filtros que permitem restringir os tipos de arquivos exibidos em um diálogo de seleção FileFilter é uma classe abstrata A subclasse de FileFilter deverá implementar os métodos: boolean accept(file file) String getdescription() Celso Olivete Júnior 4

FileFilter import javax.swing.filechooser.filefilter; public class GifFilter extends FileFilter public boolean accept(file f) return f.getname().tolowercase().endswith(".gif") f.isdirectory(); public String getdescription() return "Arquivos GIF"; Celso Olivete Júnior 5

Agora com filtro JFileChooser fc = new JFileChooser("c:\\"); int result; fc.addchoosablefilefilter(new GifFilter()); result = fc.showopendialog(this); if (result == javax.swing.jfilechooser.approve_option) File myfile = fc.getselectedfile(); String fullfilename = fc.getselectedfile().getabsolutepath(); JOptionPane.showMessageDialog(this, fullfilename, "Nome completo do arquivo selecionado", JOptionPane.WARNING_MESSAGE); Celso Olivete Júnior 6

Aplicações MDI MDI: Multiple Document Interface Programa tem uma janela de desktop que contém as demais janelas. As janelas filhas podem ser minimizadas e movidas dentro do desktop, mas não removidas. Se o desktop for minimizado, todas as janelas filhas também o são. Suporte para MDI no Swing JDesktopPane Serve como a janela mãe (desktop) das demais janelas. JInternalFrame Semelhante a um frame, exceto que ele está restringido a permanecer dentro do objeto JDesktopPane. Celso Olivete Júnior 7

Aplicações MDI JDesktopPane JInternalFrame Celso Olivete Júnior 8

JInternalFrame É um contêiner para ser utilizado em aplicações MDI. Construtor principal public JInternalFrame(String title, boolean resizable, boolean closeable, boolean maximizable, boolean iconifiable) Outros contrutores úteis redimensionável Ícone de fechar Ícone de maximizar Ícone de minimizar JInternalFrame() JInternalFrame( String title ) JInternalFrame( String title, boolean resizable ) JInternalFrame( String title, boolean resizable, boolean closable) Celso Olivete Júnior 9

JInternalFrame Outros métodos: movetofront() movetoback() setlocation (int x, int y) setsize(int largura, int comprimento); setminimumsize(new Dimension(largura, comprimento)); settitle(string); setmaximizable(boolean); seticonifiable(boolean); setclosable(boolean); setresizable(boolean); setjmenubar(jmenubar); Celso Olivete Júnior 10

JDesktopPane Um objeto JDesktopPane é um contêiner para construir uma aplicação de múltiplos documento (MDI). Serve como a janela mãe (desktop) das demais janelas. Um objeto JDesktopPane pode conter diversos objetos JInternalFrame. Principais métodos add(jinternalframe) cascadeframes() Celso Olivete Júnior 11

Pacote Swing MDIs (janelas de documento) // Deve-se criar o frame principal com um painel JDesktopPane e as janelas MDI // devem ser do tipo JInternalFrame class MDIwindow extends JInternalFrame... class MDIapp extends JFrame implements ActionListener JDesktopPane pmdi; public MDIapp() pmdi=new JDesktopPane(); getcontentpane().add(pmdi);... public void actionperformed ( ActionEvent event )... MDIwindow doc=new MDIwindow(); // criação de uma janela MDI pmdi.add(doc); doc.setvisible(true);... public class MDI extends JFrame public static void main(string[] args) JFrame.setDefaultLookAndFeelDecorated(true); MDIapp frame = new MDIapp(); frame.setsize(800, 600); frame.setvisible(true); Celso Olivete Júnior 12

Pacote Swing MDIs (janelas de documento) class MDIwindow extends JInternalFrame private static int MDIcount=1; // contador estático para compor o título da janela: Doc1, Doc2,... public MDIwindow() this.settitle("doc"+mdicount); this.setclosable(true); // permite o fechamento this.setresizable(true); // permite o redimensionamento setsize(200,200); MDIcount++; Celso Olivete Júnior 13

Pacote Swing MDIs (janelas de documento) class MDIapp extends JFrame implements ActionListener JDesktopPane pmdi; private JMenuItem New,Close,CloseAll; public MDIapp() // criação de um menu com as opções Nova janela, fechar janelas e fechar todas as janelas... pmdi=new JDesktopPane(); getcontentpane().add(pmdi); setdefaultcloseoperation(jframe.exit_on_close); public void actionperformed ( ActionEvent event ) if (event.getsource()== New) // Nova janela MDIwindow doc=new MDIwindow(); pmdi.add(doc); doc.setvisible(true); if (event.getsource()== Close) // fechar janela ativa if(pmdi.getselectedframe()!=null) pmdi.getselectedframe().dispose(); if (event.getsource()== CloseAll) // fechar todas as janelas JInternalFrame docs[]=pmdi.getallframes(); for(int i=0;i<docs.length;i++) docs[i].dispose(); Celso Olivete Júnior 14

// criação de um menu com as opções //itens do menu 1. New=new JMenuItem("New document"); 2. Close=new JMenuItem("Close document"); 3. CloseAll=new JMenuItem("Close all documents"); 4. //registrando os handlers 5. New.addActionListener(this); 6. Close.addActionListener(this); 7. CloseAll.addActionListener(this); 8. //criando os itens de File 9. JMenu filemenu = new JMenu("File"); 10. filemenu.add(new); 11. filemenu.add(close); 12. filemenu.add(closeall); 13. //criando a barra de menu 14. JMenuBar bar = new JMenuBar(); 15. setjmenubar( bar ); 16. bar.add(filemenu); Celso Olivete Júnior 15

Abrindo e mostrando uma imagem try BufferedImage image = ImageIO.read(myFile); String imageinfo = "Dimensions: "+image.getwidth()+"x"+ image.getheight()+" Bands: "+ image.getraster().getnumbands(); ImageIcon icon = new ImageIcon(image); JLabel imagelabel = new JLabel(icon); MDIwindow frame = new MDIwindow(); frame.settitle("imagem apresentada: "+fullfilename); frame.getcontentpane().setlayout(new BorderLayout()); frame.getcontentpane().add(new JScrollPane(imageLabel),BorderLayout.CENTER); frame.getcontentpane().add(new JLabel(imageInfo), BorderLayout.SOUTH); frame.setdefaultcloseoperation(dispose_on_close); frame.setsize(400,400); this.getcontentpane().add(frame); frame.setvisible(true); catch(exception e) Celso Olivete Júnior 16

Mostrando em tons de cinza try BufferedImage image = ImageIO.read(myFile); int k; int width = image.getwidth(); int height = image.getheight(); int nbands = image.getsamplemodel().getnumbands(); for(int h=0;h<height;h++) for(int w=0;w<width;w++) int rgb = image.getrgb(w,h); int r = (int)((rgb&0x00ff0000)>>>16); // Red level int g = (int)((rgb&0x0000ff00)>>>8); // Green level int b = (int) (rgb&0x000000ff); // Blue level k = r+g+b; k=k/3; k=k+(int)((k<<8)); k=k+(int)((k<<16)); image.setrgb(w,h,k); String imageinfo = "Dimensions: "+image.getwidth()+"x"+... Celso Olivete Júnior 17

Trabalho: Paint Data de entrega: dia da Prova apresentar as principais formas geométricas (Polígono, retângulo, reta, círculo, elipse, ponto, mão livre,...) desenho com o mouse (cada uma das formas deve ser desenhada a partir das coordenadas do mouse. utilizar múltiplas janelas (MDI) opções de abrir e salvar uma figura (componente JFileChooser) utilize o banco de dados MySql Celso Olivete Júnior 18