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



Documentos relacionados
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

8. Interfaces Gráficas de Usuário

Sistema de Recursos Humanos

Curso de Aprendizado Industrial Desenvolvedor WEB

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

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Caderno 1.

Interface Gráficas Parte I. Bruno Crestani Calegaro

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

Programação Gráfica em Java.

Desenvolvimento de Aplicações Desktop

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Banner Flutuante. Dreamweaver

Programação Orientada a Objetos II

Informática básica Telecentro/Infocentro Acessa-SP

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Microsoft Office PowerPoint 2007

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

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

Guia de Início Rápido

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

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

AULA TEÓRICA 9. Tema 4. Introdução ao Microsoft Excel (cont). Funções Organização de dados Gráficos Recursos adicionais Impressão

Aula 05 - Elementos e Organização de janelas

Montar planilhas de uma forma organizada e clara.

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

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

Janelas e seus elementos

SAMUEL SEAP INFORMÁTICA. Rua Lúcio José Filho, 27 Parque Anchieta Tel:

COMO USAR DOIS MONITORES NO WINDOWS 8

O Microsoft Office é composto por diversos softwares, dentre eles o Word, o Excel, o Access e o Power Point.

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

Migrando para o Word 2010

Aula 03 PowerPoint 2007

Lab - Monitorar e Gerenciar os Recursos do Sistema no Windows 7

Aula 09 - Atualização de uma tabela dinâmica. Aula 09 - Atualização de uma tabela dinâmica. Sumário. Atualizando a tabela dinâmica

Pacote Java Swing Parte 1

Capítulo 29. Menus. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Questão Essência do Excel

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

QUESTÕES SOBRE WINDOWS 7

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

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

Gerente de Tecnologia: Ricardo Alexandre F. de Oliveira Marta Cristiane Pires M. Medeiros Mônica Bossa dos Santos Schmid WORD 2007

MICROSOFT EXCEL - AULA NÚMERO 06

CADERNO DE QUESTÕES WINDOWS 8

Windows 7. Professor: Jeferson Machado Cordini

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

MICROSOFT POWER POINT

Estatística no EXCEL

INFORMÁTICA WORD. TELA DO WORD Nome do Arquivo que esta sendo editado: Botão Office Diversos Textos Barra de Títulos Nome do programa: Microsoft Word

Área de Trabalho. Encontramos: Ìcones Botão Iniciar Barra de Tarefas

Informática Básica. Microsoft Word XP, 2003 e 2007

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Serviço Técnico de Informática. Curso Básico de PowerPoint

Microsoft Word INTRODUÇÃO

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

Bem-vindo ao CorelDRAW, um programa abrangente de desenho e design gráfico baseado em vetor para o profissional gráfico.

ALBUM DE FOTOGRAFIAS NO POWER POINT

Treinamento IDCad 2015

Informática básica: Sistema operacional Microsoft Windows XP

Capítulo 7 O Gerenciador de Arquivos

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

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Professor: Macêdo Firmino Informática para Administração Introdução ao Excel

O AMBIENTE DE TRABALHO DO WINDOWS

PROMOB ARCH PRIMEIROS PASSOS

Google Drive: Acesse e organize seus arquivos

Apostila de Windows Movie Maker

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

DICAS PARA SE APERFEIÇOAR NO WINDOWS 7

Manual do Usuário. Minha Biblioteca

Entendendo as janelas do Windows Uma janela é uma área retangular exibida na tela onde os programas são executados.

- Esse ícone indica que o USB Phone GiConnect está conectado e funcionando corretamente, pronto para o uso.

WIN + D WIN + M SHIFT + WIN + M WIN + R WIN + E WIN + PAUSE BREAK

CONHECENDO A ÁREA DE TRABALHO DO WINDOWS 7

Polycom RealPresence Content Sharing Suite Guia rápido do usuário

Lab - Monitorar e Gerenciar os Recursos do Sistema no Windows Vista

LEITORES DE TELA Orientações Básicas Jaws NVDA Virtual Vision - Orca

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

MICROSOFT EXCEL - AULA NÚMERO 05

Série ArcGIS Online I. Aprenda em 20. Módulo 4. Configure pop-ups.

Migrando para o Outlook 2010

Aplica/remove sublinhado.

Arquivos e Pastas. Instrutor Antonio F. de Oliveira. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

API Swing Java. 1. Introdução. 2. Objetivos. 3. Surgimento do Swing. André Scarmagnani 1, Matheus Madalozzo 1, Miguel Diogenes Matrakas 1

MANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.

Curso de Capacitação em Gerenciador de Conteúdo PLONE

Comportamento das janelas. Mike McBride Jost Schenck Tradução: Marcus Gama

01. (FCC MPE/PGJ-PE ANALISTA MINISTERIAL ) No Windows XP Home Edition, em sua configuração padrão e original,

INTRODUÇÃO AO WINDOWS

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Unidade 1: O Painel de Controle do Excel *

Planilhas Eletrônicas

PS02_02-08: Exercícios: Photoshop CS3. Objetivo: FERRAMENTAS DE PINTURA. 1) Abra um novo arquivo e altere os valores para a seguinte configuração:

APOSTILA WORD BÁSICO

Compositor de Impressão do QGIS

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Transcrição:

Java Como Programar, 8/E Slide 1

Slide 2 (C) 2010 Pearson Education, Inc. Todos os direitos reservados.

Slide 3

Slide 4 Neste capítulo, discutimos: Componentes e gerenciadores de layout adicionais e projetamos a base para construir GUIs mais complexas. Sliders que permitem selecionar a partir de um intervalo de valores inteiros. Detalhes adicionais de janelas. Menus que permitem realizar tarefas eficientemente no programa. Interface plugável (pluggable look-and-feel, PLAF) do Swing. Interface de múltiplos documentos (multiple document interface, MDI) uma janela principal (frequentemente chamada janela-pai) contendo outras janelas (frequentemente chamadas janelas-filhas) para gerenciar vários documentos abertos em paralelo.

Slide 5 Jsliders permitem a um usuário selecionar a partir de um intervalo de valores inteiros. A Figura 25.1 mostra um JSlider horizontal com marcas de medidas e a caixa de rolagem que permitem ao usuário selecionar um valor. Podem ser personalizadas para exibir marcas de medida principais, marcas de medida secundárias e rótulos para as marcas de medida. Também suportam marcas de aderência, que fazem a miniatura, quando posicionada entre duas marcas, aderir à marca mais próxima.

Slide 6

Slide 7 A tecla da seta para baixo e a tecla da seta para cima também fazem com que a caixa de rolagem do JSlider diminua ou aumente por 1, respectivamente. A tecla PgDn (page down) e a tecla PgUp (page up) fazem com que o marcador do JSlider diminua ou aumente por incrementos de bloco de um décimo do intervalo de valores, respectivamente. A tecla Home move a caixa de rolagem para o valor mínimo do JSlider, e a tecla End move a caixa de rolagem para o valor máximo do JSlider.

Slide 8 JSliders têm uma orientação horizontal ou uma orientação vertical. Para um JSlider horizontal, o valor mínimo está na extremidade esquerda do JSlider e o valor máximo está na extremidade direita. Para um JSlider vertical, o valor mínimo está na parte inferior e o valor máximo na parte superior. As posições de valor mínimo e máximo em um JSlider podem ser alternadas chamando o método JSlider setinverted com argumento boolean true.

Slide 9

Slide 10

Slide 11

Slide 12

Slide 13

Slide 14

Slide 15 O método JSlider setmajortickspacing indica que cada marca de medida principal representa 10 valores no intervalo de valores suportados pelo JSlider. O método JSlider setpaintticks com um argumento true indica que as marcas de medida devem ser exibidas (elas não são exibidas por padrão). JSliders geram ChangeEvents (o pacote javax.swing.event) em resposta a interações de usuário. Tratado por um ChangeListener (pacote javax.swing.event) que declara o método statechanged. O método JSlider getvalue retorna a posição da caixa de rolagem atual.

Slide 16 Um JFrame é uma janela com uma barra de título e uma borda. JFrame é uma subclasse de Frame, que é uma subclasse de Window. Estes são componentes Swing GUI de maior peso. Uma janela é fornecida pelo kit de ferramentas da plataforma local. Por padrão, quando o usuário fecha uma janela JFrame, ela é oculta, mas é possível controlar isso com o método JFrame setdefaultcloseoperation. A interface WindowConstants (pacote javax.swing), que a classe JFrame implementa, declara três constantes DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE e HIDE_ON_CLOSE (o padrão) para usar com esse método.

Slide 17 A classe Window (uma superclasse indireta de JFrame) declara o método dispose para retornar os recursos de uma janela para o sistema. Quando uma janela não é mais necessária em um aplicativo, você deve descartá-la explicitamente. Pode ser feito chamando o método dispose de Window ou chamando o método setdefaultcloseoperation com o argumento WindowConstants.DISPOSE_ON_CLOSE. Uma janela não é exibida até o programa invocar o método setvisible da janela com um argumento true. O tamanho de uma janela deve ser configurado com uma chamada para o método setsize. A posição de uma janela quando aparece na tela é especificada com o método setlocation.

Slide 18

Slide 19

Slide 20

Slide 21 Quando o usuário manipula a janela, ocorrem eventos de janela. Os ouvintes de evento são registrados para eventos de janela com o método Window addwindowlistener. A interface WindowListener fornece sete métodos de tratamento de evento de janela. windowactivated (chamado quando o usuário torna uma janela ativa). windowclosed (chamado depois que a janela é fechada). windowclosing (chamado quando o usuário inicia o fechamento da janela). windowdeactivated (chamado quando o usuário torna outra janela ativa). windowdeiconified (chamado quando a janela é restaurada a partir do estado minimizado). windowiconified (chamado quando a janela está minimizada). windowopened (chamado logo que a janela é aberta pela primeira vez).

Slide 22

Slide 23 Os menus são uma parte integrante das GUIs. Permitem que o usuário realize ações sem poluir desnecessariamente uma GUI com componentes extras. Em GUIs Swing, os menus podem ser anexados somente aos objetos das classes que fornecem o método setjmenubar. Duas dessas classes são JFrame e JApplet. As classes usadas para declarar menus são JMenuBar, JMenu, JMenuItem, JCheckBoxMenuItem e a JRadioButtonMenuItem.

Slide 24 A classe JMenuBar (uma subclasse de JComponent) gerencia uma barra de menu, que é um contêiner para menus. A classe JMenu (uma subclasse do javax.swing.jmenuitem) contém os métodos necessários para gerenciar menus. Os menus contêm itens de menu e são adicionados a barras de menus ou a outros menus como submenus. Classe JMenuItem (uma subclasse do javax.swing.abstractbutton) contém os métodos necessários para gerenciar itens de menu. Um item do menu causa um evento de ação quando clicado. Pode ser também um submenu que fornece mais itens de menu a partir dos quais o usuário pode selecionar.

Slide 25 Classe JCheckBoxMenuItem (uma subclasse de javax.swing.jmenuitem) itens de menu que podem ser ativados e desativados. Classe JRadioButtonMenuItem (uma subclasse de javax.swing.jmenuitem) itens de menu que podem ser ativados e desativados como JCheckBoxMenuItems. Quando múltiplos JRadioButtonMenuItems são mantidos como parte de um ButtonGroup, somente um item no grupo pode ser selecionado em determinado momento. Mnemônicos podem fornecer acesso rápido a um menu ou ao item de menu do teclado. Pode ser usado com todas as subclasses de javax.swing.abstractbutton. O método JMenu setmnemonic (herdado da classe AbstractButton) indica o mnemônico de um menu.

Slide 26

Slide 27

Slide 28

Slide 29

Slide 30

Slide 31

Slide 32

Slide 33

Slide 34

Slide 35

Slide 36

Slide 37

Slide 38 Na maioria das utilizações anteriores de showmessagedialog, o primeiro argumento era null. O primeiro argumento especifica a janela-pai que ajuda a determinar onde a caixa de diálogo será exibida. Se especificada como null, a caixa de diálogo aparece no centro da tela. Caso contrário, ela aparece centralizada na janela-pai especificada. Ao utilizar a referência this em uma classe interna, especificar this sozinha faz referência ao objeto da classe interna. Para referir-se à referência this dos objetos da classe externa, qualifique this com o nome da classe externa e um ponto (.).

Slide 39 Em geral, as caixas de diálogo são modais não permitem que nenhuma outra janela do aplicativo seja acessada até que a caixa de diálogo seja fechada. A classe JDialog pode ser utilizada para criar seus próprios diálogos modais ou não modais. O método JMenuBar add anexa um menu a um JMenuBar. O método AbstractButton setselected seleciona o botão especificado. O método JMenu addseparator adiciona uma linha separadora horizontal a um menu. O método AbstractButton isselected determina se um botão está selecionado.

Slide 40

Slide 41

Slide 42

Slide 43

Slide 44

Slide 45 Menus pop-up sensíveis ao contexto são criados com a classe JPopupMenu (uma subclasse de JComponent). Fornecem opções que são específicas ao componente para o qual o evento de gatilho pop-up foi gerado. Em geral, ocorre quando o usuário pressiona e libera o botão direito do mouse. O método MouseEvent ispopuptrigger retorna true se o evento de gatilho pop-up ocorrer. O método JPopupMenu show exibe um JPopupMenu. O primeiro argumento especifica o componente de origem. Sua posição ajuda a determinar onde o JPopupMenu aparecerá na tela. Os dois últimos argumentos são as coordenadas x-y (medidas a partir do canto superior esquerdo do componente de origem) em que o JPopupMenu deve aparecer.

Slide 46

Slide 47

Slide 48

Slide 49

Slide 50

Slide 51

Slide 52

Slide 53 Componentes AWT GUI do Java (pacote java.awt) assumem a aparência e comportamento da plataforma em que o programa executa. Introduz questões de portabilidade interessantes. Componentes GUI leves do Swing fornecem funcionalidade uniforme pelas plataformas e definem uma aparência e comportamento uniformes por diversas plataformas. A partir do Java SE 6 Update 10, essa é a aparência e funcionamento do Nimbus (Seção 14.2). As versões anteriores do Java utilizavam a aparência e comportamento metal, que ainda são o padrão. Podem personalizar a aparência e comportamento. As aparências e funcionamentos instalados irão variar entre uma e outra plataforma.

Slide 54

Slide 55

Slide 56

Slide 57

Slide 58

Slide 59

Slide 60

Slide 61

Slide 62

Slide 63

Slide 64 A classe UIManager (pacote javax.swing) contém a(uma) classe (aninhada) LookAndFeelInfo aninhada(cortar) (uma classe public static) que mantém informações sobre a aparência e comportamento. O método getinstalledlookandfeels da classe UIManager static obtém um array de objetos UIManager.LookAndFeelInfo que descrevem cada aparência e comportamento disponível no seu sistema. O método setlookandfeel estático da classe UIManager muda a aparência e comportamento. O método getclassname da classe UIManager.LookAndFeelInfo determina o nome da classe de aparência e comportamento que corresponda ao objeto UIManager.LookAndFeelInfo. O método updatecomponenttreeui estático do SwingUtilities muda a aparência e comportamento de cada componente associado ao seu argumento Component para a nova aparência e comportamento.

Slide 65

Slide 66 Interface de múltiplos documentos (multiple document interface MDI) uma janela principal (chamada de janela-pai) contendo outras janelas (chamadas de janelas-filhas), para lidar com vários documentos abertos que estão em processamento paralelo. As classes JDesktopPane e JInternalFrame do Swing implementam interfaces de vários documentos.

Slide 67

Slide 68

Slide 69

Slide 70

Slide 71

Slide 72

Slide 73

Slide 74 O construtor JInternalFrame usado aqui aceita cinco argumentos uma String para a barra de título da janela interna. um boolean que indica se o quadro interno pode ser redimensionado pelo usuário. um boolean que indica se o quadro interno pode ser fechado pelo usuário. um boolean que indica se o quadro interno pode ser maximizado pelo usuário. um boolean que indica se o quadro interno pode ser minimizado pelo usuário. Para cada um dos argumentos boolean, um valor true indica se a operação deve ser permitida (como é caso aqui).

Slide 75 Um JInternalFrame tem um painel de conteúdo ao qual componentes GUI podem ser anexados. O método JInternalFrame pack configura o tamanho da janela-filha. Utiliza os tamanhos preferidos dos componentes para determinar o tamanho da janela. As classes JInternalFrame e JDesktopPane fornecem muitos métodos para gerenciar janelas-filhas.

Slide 76 Um JTabbedPane organiza componentes GUI em camadas, das quais somente uma é visível por vez. Usuários acessam cada camada clicando na guia. As guias aparecem na parte superior por padrão, mas também podem ser posicionadas à esquerda, direita ou parte inferior do JTabbedPane. Qualquer componente pode ser posicionado em uma guia. Se o componente for um contêiner, como um painel, ele poderá utilizar qualquer gerenciador de layout para organizar vários componentes na guia. A classe JTabbedPane é uma subclasse de JComponent.

Slide 77

Slide 78

Slide 79

Slide 80

Slide 81 O método JTabbedPane addtab adiciona uma nova guia. Na versão com quatro argumentos: O primeiro argumento é uma String que especifica o título da guia. O segundo é uma referência Icon que especifica um ícone a ser exibido na guia pode ser null. O terceiro é um Component a ser exibido quando o usuário clicar na guia. O último é uma String que especifica a dica de ferramenta da guia.

Slide 82 Esta seção apresenta dois gerenciadores adicionais de layout (resumidos na Figura 25.15).

Slide 83

Slide 84 O gerenciador BoxLayout (no pacote javax.swing) organiza os componentes GUI horizontalmente ao longo do eixo x ou verticalmente ao longo do eixo y de um contêiner.

Slide 85

Slide 86

Slide 87

Slide 88

Slide 89

Slide 90

Slide 91 O método static Box createverticalbox retorna referências aos contêineres Box com um BoxLayout vertical no qual componentes GUI são organizados de cima para baixo. Antes de adicionar cada botão, a linha 33 adiciona uma estrutura vertical ao contêiner com um método static createverticalbox da classe Box. Uma estrutura vertical é um componente GUI invisível que tem uma altura fixa em pixels e é utilizada para garantir uma quantidade fixa de espaço entre componentes GUI. Criada com o método static Box createverticalstrut. Quando o contêiner é redimensionado, a distância entre os componentes GUI separados por estruturas (struts) não muda. A classe Box também declara o método createhorizontalstrut para BoxLayouts horizontais.

Slide 92 A cola horizontal é um componente GUI invisível que pode ser utilizado entre componentes GUI de tamanho fixo para ocupar espaço adicional. Criado com o método static da classe Box createverticalstrut. Quando o contêiner é redimensionado, componentes separados por componentes de cola permanecem no mesmo tamanho, mas a cola se expande ou se contrai para ocupar o espaço entre eles. A classe Box também declara o método createverticalglue para BoxLayouts verticais.

Slide 93 Uma área rígida é um componente GUI invisível que tem sempre a largura e altura fixas em pixels. Criada com o método static da classe Box createrigidarea O construtor BoxLayout recebe uma referência ao contêiner cujo layout ele controla, e uma constante indicando se o layout é horizontal (BoxLayout.X_AXIS) ou vertical (BoxLayout.Y_AXIS). O método static da classe Box createglue cria um componente que expande ou contrai com base no tamanho de Box. JTabbedPane.TOP enviado ao construtor indica que as guias devem aparecer na parte superior do JTabbedPane. JTabbedPane.SCROLL_TAB_LAYOUT especifica que as guias devem recorrer para uma nova linha se houver muitos espaços para se ajustarem em uma única linha.

Slide 94 Um dos gerenciadores de layout predefinidos mais poderosos é GridBagLayout (no pacote java.awt). Semelhante ao GridLayout, mas muito mais flexível. Os componentes podem variar de tamanho e podem ser adicionados em qualquer ordem.

Slide 95 O primeiro passo na utilização de GridBagLayout é determinar a aparência da GUI. Desenhe a GUI e depois desenhe uma grade sobre ela, dividindo os componentes em linhas e colunas. Os números iniciais de linhas e colunas devem ser 0, de modo que o gerenciador de layout GridBagLayout possa utilizar os números de linha e coluna para posicionar adequadamente os componentes na grade. A Figura 25.18 demonstra como desenhar linhas e colunas sobre uma GUI.

Slide 96

Slide 97 Um objeto GridBagConstraints descreve como um componente é posicionado em um GridBagLayout. Vários campos GridBagConstraints estão resumidos na Figura 25.19. O método GridBagLayout setconstraints aceita um argumento Component e um argumento GridBagConstraints.

Slide 98

Slide 99

Slide 100

Slide 101

Slide 102

Slide 103

Slide 104

Slide 105

Slide 106 Uma variação de GridBagLayout usa as constantes GridBagConstraints RELATIVE e REMAINDER. RELATIVE especifica que o penúltimo componente em uma linha particular deve ser posicionado à direita do componente anterior na linha. REMAINDER especifica que um componente é o último componente em uma linha.

Slide 107

Slide 108

Slide 109

Slide 110

Slide 111

Slide 112