Componentes Parte 01

Documentos relacionados
TIC - Programação Visual. Componentes. Prof. Edwar Saliba Júnior Setembro de Unidade 14 Componentes 1

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

Arquivos. Prof. Leonardo Barreto Campos 1

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

Swing Módulo II. Tiago Alves de Oliveira. Tiago Alves de Oliveira 1

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

Programação Orientada a Objetos

Linguagem de Programação II GUI Interface Gráfica com o Usuário

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof.

Introdução à Tecnologia Java 02/2012. Java Aula 03. gráficas GUI Swing 29/08/2012. Celso Olivete Júnior.

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

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

IDE (Integrated Development Environment) / RAD (Rapid Application Development)

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

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

Orientação a Objetos

AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula. Janelas para leitura e exibição de textos

Pacote Java Swing Parte 1

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

Java Swing: Netbeans

Componentes Parte 02

Interfaces Gráficas com Swing. Professor Leonardo Larback

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

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

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

MÓDULO 4 SWING Parte 3

Programação Gráfica em Java Alguns Componentes javax.swing

Java Standard Edition (JSE)

COM220 Aula 17: Interface Gráfica Containers Swing

Interfaces Gráficas (GUIs) em Java usando Swing

Tiago Alves de Oliveira. Tiago Alves de Oliveira

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

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

Centro Federal de Educação Tecnológica do Amazonas. Java Avançado Prof. Tiago Eugenio de Melo

Programação II. Cassio Diego

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

Desenvolvimento de Aplicações Desktop

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Cadastro de Cargos, Departamentos e Funcionários

Elaborando as Interfaces Aulas 43, 44 e 45

Orientação a Objetos

BROFFICE.ORG IMPRESS 2.0

Unidade 10: Introdução à Programação de GUIs com Swing Prof. Daniel Caetano

Elaborando as Interfaces Aulas 31, 32 e 33

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

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

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

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

Unidade 11: Programando Swing com o NetBeans Prof. Daniel Caetano

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

O MICROSOFT OFFICE WORD 2010

Linguagem de Programação Visual

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface Gráfica - Swing

Interface gráfica em Java: Swing e SWT

Programação Orientada a Objetos II

1. Estrutura do Projeto (0,2) pontos

Introdução à construção de GUIs

1. Introdução O que é Microsoft PowerPoint Recursos de PowerPoint. Introdução

10 Hiperlinks e Mala Direta

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

Introdução a Tecnologia da Informação

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

Programação Orientada a Objetos com Java. Prof. Júlio Machado

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 4- Tratamento de Eventos em Interfaces Gráficas

Tutorial Word 2007 FONTE: UNICAMP

UNIVERSIDADE FEDERAL DE PELOTAS. Índice

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

JMENU, JDESKTOPPANE E JINTERNALFRAME

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

APOSTILA DE INFORMÁTICA BÁSICA. Prof. Thiago Ribeiro

INFORMÁTICA (PC-SP / ESCRIVÃO / VUNESP / 2014)

Faixa de Opções, Ajuda e outros atalhos de teclado do Microsoft Office. Acesso pelo teclado à Faixa de Opções da Office Fluent

Para abrir um documento deve utilizar uma das abordagens seguintes.

Trabalhando com Microsoft Word Denise P. Batalha

APRESENTAÇÃO ELETRÔNICA POWER POINT

Writer. Interface e Formatação de Estilos

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

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

Avisos legais KYOCERA Document Solutions Inc.

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 5- Tratamento de Eventos de Manipulação de textos

Migrando para o PowerPoint 2010

DEINF - UFMA Especialização em Análise e Projeto de Sistema

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

CENTRO PAULA SOUZA ETEC PADRE JOSÉ NUNES DIAS APLICATIVOS INFORMATIZADOS WORD 2007 PROFESSORA: ALINE PRISCILA SCHMIDT ALUNO:

9. ARQUIVOS E PASTAS 9.1 O QUE SÃO ARQUIVOS E PASTAS?

Uma pasta é pouco mais que um contêiner no qual é possível armazenar arquivos. Se

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

NOÇÕES DE INFORMÁTICA ALISSON CLEITON MÓDULO VII

Guia prático do. Passo a passo

Comando if.. else. 2. JOptionPane. showmessagedialog. showconfirmdialog. showinputdialog. Caixa de diálogo para mostrar mensagem simples

Informática - Windows 7

Transcrição:

Componentes Parte 01 Prof. Edwar Saliba Júnior Setembro de 2012 1

Reflexão Merecemos a culpa por não termos facilitado o seu aprendizado. No tocante aos recursos, o produto era fantástico, mas no que se refere à facilidade dos primeiros passos, não nos saímos muito bem. (Bill Gates sobre a frustração parcial de alguns usuários com o Word 2.0) 2

Dica Interfaces consistentes permitem que o usuário aprenda mais rápido e com mais facilidade novos aplicativos. 3

Entrada/saída baseada em GUI simples com JOptionPane Caixas de diálogo: Utilizadas pelas aplicações para interagir com o usuário; Fornecidas pela classe JOptionPane (pacote javax.swing): Contém diálogos de entrada e diálogos de mensagem. Sintaxe: JOptionPane.showMessageDialog(...); JOptionPane.showInputDialog(...); 4

Constantes JOptionPane static para diálogos de mensagem. Tipo de diálogo de mensagem Ícone Descrição ERROR_MESSAGE Um diálogo que indica um erro para o usuário. INFORMATION_MESSAGE Um diálogo com uma mensagem informativa para o usuário. WARNING_MESSAGE Um diálogo que adverte o usuário de um problema potencial. QUESTION_MESSAGE PLAIN_MESSAGE Um diálogo que impõe uma pergunta ao usuário. Normalmente, esse diálogo exige uma resposta, como clicar em um botão Yes ou No. Nenhum Um diálogo que contém uma mensagem, mas nenhum ícone.. ícone 5

Exercício 01 - JOptionPane Diálogo de entrada exibido nas linhas 14 e 15 Prompt para o usuário Quando o usuário clica em OK, showinputdialog retorna ao programa o 123 digitado pelo usuário como uma String. O programa deve converter a String em um float Campo de texto em que o usuário digita um valor Diálogo de entrada exibido na linha 16 e 17 barra de título Diálogo de entrada exibido nas linhas 22 23 Quando o usuário clicar em OK, o diálogo de mensagem é fechado (é removido da tela) 6

Exemplo 01 - JOptionPane Mostra o diálogo de entrada para receber o primeiro valor Mostra o diálogo de entrada para receber o segundo valor Mostra o diálogo de mensagem para gerar a saída da soma para o usuário 7

Observação sobre Aparência e Comportamento Em geral, a barra de título de uma janela adota o uso de letras maiúsculas e minúsculas um estilo que emprega a inicial maiúscula em cada palavra significativa no texto e não termina com pontuação; Exemplo: Título de um Livro ou de um Slide. 8

Visão Geral de Componentes Swing Componentes Swing GUI: Declarado no pacote javax.swing; A maioria dos componentes Swing são componentes Java puros escritos, manipulados e exibidos em Java; Fazem parte das bibliotecas do Java (Java Foundation Classes (JFC)) para desenvolvimento de GUI para múltiplas plataformas. 9

Alguns Componentes Básicos Componente JLabel JTextField JButton JCheckBox JComboBox JList JPanel Descrição Exibe texto não-editável ou ícones. Permite ao usuário inserir dados do teclado. Também pode ser utilizado para exibir texto editável ou não editável. Desencadeia um evento quando o usuário clicar nele com o mouse. Especifica uma opção que pode ser ou não selecionada. Fornece uma lista drop-down de itens a partir da qual o usuário pode fazer uma seleção clicando em um item ou possivelmente digitando na caixa. Fornece uma lista de itens a partir da qual o usuário pode fazer uma seleção clicando em qualquer item na lista. Múltiplos elementos podem ser selecionados. Fornece uma área em que os componentes podem ser colocados e organizados. Também pode ser utilizado como uma área de desenho para imagens gráficas. 10

Swing versus AWT Abstract Window Toolkit (AWT): Precursor do Swing; Declarado no pacote java.awt; Não fornece aparência e comportamento consistentes para diversas plataformas. 11

Dica de Portabilidade Os componentes Swing são implementados com Java; desse modo, eles são mais portáveis e flexíveis do que os componentes Java do pacote java.awt. 12

Componentes Leves X Pesados Componentes leves: Não associados diretamente a componentes GUI suportados pela plataforma subjacente; Componentes pesados: Associados diretamente à plataforma local; Componentes AWT; Alguns componentes Swing. 13

Observação sobre Aparência e Comportamento Componentes Pesados: a aparência e o comportamento de uma interface definida com componentes GUI do pacote java.awt, podem variar entre plataformas (S.O.); são acoplados à GUI da plataforma local, assim sendo, sua aparência e comportamento variam entre plataformas. 14

Superclasses Comuns de Muitos dos Componentes do Swing 15

Superclasses de Componentes GUI Leves do Swing Classe Component (pacote java.awt): Subclasse de Object; Declara muitos comportamentos e atributos comuns a componentes GUI. Classe Container (pacote java.awt): Subclasse de Component; Organiza Componentes. Classe JComponent (pacote javax.swing): Subclasse de Container; Superclasse de todos os componentes Swing leves. 16

Superclasses de Componentes GUI Leves do Swing Recursos dos componentes leves comuns: Aparência e comportamento adaptáveis para personalizar a aparência dos componentes; Teclas de atalho (chamadas mnemônicas); Capacidades comuns de tratamento de eventos; Breves descrições do propósito de um componente GUI (dicas de ferramenta); Suporte para localização de interface com o usuário. 17

Componentes Visuais 18

JFrame Usado para exibição de texto e imagens em uma janela; Classe JFrame: A maioria das janelas é uma instância ou subclasse dessa classe; Fornece a barra de título; Fornece botões para minimizar, maximizar e fechar a aplicação. 19

Métodos Importantes JFrame: setdefaultcloseoperation Determina como a aplicação reage quando o usuário clica no botão fechar. setsize Especifica a largura e altura da janela. setvisible Determina se a janela é exibida (true) ou não (false). 20

Métodos Importantes Comuns a Maioria dos Componentes Visuais settooltiptext Quando preenchido, apresenta um dica ao usuário do software, quando este para o mouse sobre o componente; setenabled Habilita ou desabilita um componente; setfocusable Habilita ou desabilita a possibilidade de um componente receber foco; setnextfocusablecomponent Desvia a sequência de foco entre os componentes habilitados a recebê-lo. 21

JLabel Rótulo; Classe JLabel: Instruções de texto ou informações que declaram o propósito de cada componente; Muito utilizado também em campos que têm o objetivo único de visualização de dados. 22

Métodos Importantes JLabel: gettext e settext Para colocar e recuperar o texto de um rótulo. geticon e seticon Para colocar e recuperar o ícone exibido no rótulo. gethorizontaltextposition e sethorizontaltextposition Para configurar e recuperar a posição horizontal do texto exibido no rótulo. setdisplayedmnemonic e setlabelfor Estes métodos funcionam em conjunto. O primeiro configura um atalho no texto apresentado no JLabel e o segundo é o método que aponta para o componente que deverá receber o foco. 23

Observação sobre Aparência e Comportamento Normalmente, o texto em um JLabel emprega maiúsculas e minúsculas no estilo de frases, sendo muito comum o uso de : no final. 24

Especificando o Layout Organização dos contêineres: Determina onde os componentes são colocados no contêiner; Feita no Java com gerenciadores de layout: Exemplo: classe FlowLayout. Configura-se o layout de uma janela com o método setlayout da classe JFrame. 25

Ícones Interface Icon: Pode ser adicionado a uma JLabel com o método seticon. Implementado pela classe ImageIcon. 26

Constantes Interface SwingConstants: Declara um conjunto de constantes inteiras comuns, como as utilizadas para configurar o alinhamento dos componentes; Pode ser utilizada com os métodos: sethorizontalalignment e setverticalalignment. 27

Algumas Constantes 28

Exercício 02 - JLabel Desenvolva um software utilizando apenas: um componente JFrame, três componentes JLabel e uma imagem. Seu software deverá produzir a seguinte saída: 29

Exemplo 02 - JLabel Parte 01 - Classe Main. Parte 02 - Classe LabelFrame. 30

Erro Comum de Programação Se você não adicionar explicitamente um componente GUI a um contêiner, o componente não será exibido quando o contêiner aparecer na tela. 31

Dica Utilize as dicas de ferramenta (método: settooltiptext) para adicionar texto descritivo aos componentes GUI. Esse texto ajuda o usuário a determinar o propósito do componente na interface. 32

Evento Normalmente um usuário interage com uma GUI do aplicativo para indicar a tarefa que o software deve realizar; Exemplo: Escrever uma mensagem num aplicativo de correio eletrônico. O ato de clicar no botão Enviar instrui o software a enviar a mensagem escrita para os endereços especificados no e-mail. 33

GUI's X Eventos GUI's são fundamentadas em eventos; Quando um usuário interage com um componente GUI, essa interação é conhecida como evento; Um evento geralmente guia o programa na realização de uma tarefa. 34

Eventos Comuns Eventos comuns nos componentes GUI: clicar em um botão, digitar em um campo de texto, selecionar um item de menu, fechar uma janela e mover um mouse. O código que realiza uma tarefa em resposta a um evento é chamado de: handler de evento. 35

Campos de Texto GUI's são baseadas em eventos: Uma interação com o usuário dispara um evento: Eventos comuns são: clicar em um botão, digitar em um campo de texto, selecionar um item em um menu, fechar uma janela e mover o mouse. O evento causa uma chamada a um método que chamou um handler de evento. 36

Campos de Texto Classe JTextComponent: Superclasse de JTextField: Superclasse de JPasswordField: Adiciona o caractere de eco para ocultar a entrada de texto no componente. Permite que o usuário insira texto no componente quando o componente tem o foco da aplicação. 37

Conceito Classe de primeiro nível: Não declarada dentro de uma outra classe. Classes aninhadas: Declaradas dentro de uma outra classe; Classes aninhadas não-static são chamadas classes internas; Frequentemente utilizadas para tratamento de eventos. 38

Observação Uma classe interna tem permissão de acessar diretamente variáveis e métodos de sua classe de primeiro nível, mesmo se eles forem private. 39

JTextField e JPasswordField JTextField e JPasswordField: Pressionar Enter dentro de um desses campos dispara um ActionEvent. Processado pelos objetos que implementam a interface ActionListener. 40

Erro Comum de Programação Esquecer de registrar um objeto tratador de eventos para um tipo de evento de um componente GUI particular, faz com que o tipo seja ignorado. 41

actionperformed Fonte do evento: Componente a partir do qual o evento se origina; Pode ser determinado utilizando o método getsource; O texto em um JTextField pode ser adquirido utilizando getactioncommand; O texto em um JPasswordField pode ser adquirido utilizando getpassword. 42

Tipos Comuns de Eventos Tipos de eventos: Todos são subclasses de AWTEvent; Alguns declarados no pacote java.awt.event; Aqueles específicos a componentes Swing declarados no javax.swing.event. 43

Evolução do Evento Internamente Modelo de evento de delegação: A origem do evento é o componente com o qual o usuário interage; O objeto do evento é criado e contém as informações sobre o evento que aconteceu; O objeto ouvinte de eventos é notificado quando um evento acontece (Design Pattern - Observer). 44

Classes de evento do pacote java.awt.event 45

Interfaces Ouvintes de Eventos do Pacote java.awt.event 46

Exemplo de Registro de Evento 47

Exercício 03 - JTextField Desenvolva um software que possua: 03 JTextField's 01 JPasswordField e 01 JFrame. O software deverá funcionar assim: ao escrevermos nos componentes e/ou apertarmos a tecla <Enter>, o nome e o valor no componente deverá ser mostrado num JOptionPane; Conforme imagem no próximo slide: 48

Exercício 03 Resultado Visual 49

Exemplo 03 JTextField e JPasswordField Parte 01 - Classe Main. Parte 02 - Classe TextFieldFrame. 50

JButton Botão: O usuário do componente clica para desencadear uma ação específica; Pode ser botão de comando, caixa de seleção, botão de alternância ou botão de opção; Os tipos de botões são subclasses da classe AbstractButton. 51

JButton Método interessante: setmnemonic Este método configura uma tecla de atalho (alt + um caractere ) no texto apresentado no rótulo do JButton. 52

Observação Em geral, os botões utilizam letras maiúsculas e minúsculas no estilo de título de livro. 53

JButton Botão de comando: Dispara um ActionEvent quando é clicado; Criado com a classe JButton; O texto na face do botão é chamado rótulo do botão. 54

Aparência e Comportamento Ter mais de um JButton com o mesmo rótulo torna os JButton's ambíguos para o usuário. Forneça um rótulo único para cada botão. 55

Hierarquia do Botão Swing. 56

JButton JButton's podem ter um ícone de rollover: Aparece quando o mouse é posicionado sobre um botão; Adicionado a um JButton com o método setrollovericon. 57

Aparência e Comportamento Como a classe AbstractButton suporta exibição de texto e imagens em um botão, todas as subclasses de AbstractButton também suportam exibição de texto e imagens. 58

Aparência e Comportamento Utilizar ícones rollover para JButton's fornece aos usuários um feedback visual que indica que, quando eles clicam no mouse enquanto o cursor está posicionado sobre o botão, uma ação ocorrerá. 59

Observação Quando utilizada em uma classe interna, a palavra-chave this referencia o objeto de classe interna atual sendo manipulado; Um método de classe interna pode utilizar this do seu objeto de classe externa precedendo this com o nome de classe externa e um ponto, como em ButtonFrame.this. 60

Exercício 04 - JButton Desenvolva um software utilizando: 01 JFrame, 02 JButton's e 02 figuras. Seu software deverá possuir um botão com imagem e outro sem. E deverá funcionar assim: Ao clicar em um botão, deverá ser mostrado em um JOptionPane uma mensagem contendo o nome do componente e seu texto; No botão com imagem, ao passarmos o mouse sobre o componente, uma imagem deverá sobrepor a outra. Seu software deverá possuir a seguinte aparência (slide a seguir): 61

Exercício 04 Resultado Visual 62

Exemplo 04 - JButton Parte 01 - Classe Main. Parte 02 - Classe ButtonFrame. 63

Dúvidas??? 64

Bibliografia DEITEL, H. M.; DEITEL, P. J. Java Como Programar; 6. ed., São Paulo: Pearson, 2005. SALIBA JÚNIOR, E. Slides da disciplina de Programação de Computadores II CEFET-MG. Disponível em: <http://www.esj.eti.br/cefetmg/discip linas/pc2/pc2_unidade_04.pdf> Acesso em: 20 set. 2012. 65