componentes - visão geral

23
D e s e n v o l v i m e n t o D e s k t o p A u l a 4 C o m p o n e n t e s

Upload: robson-escotiel

Post on 15-Dec-2015

232 views

Category:

Documents


3 download

DESCRIPTION

Aula de JAVA SwingVisão geral dos componentes do JAVA Swing.

TRANSCRIPT

Page 1: Componentes - Visão Geral

Desenvolvimento DesktopAula 4 – Componentes – visão ge

Page 2: Componentes - Visão Geral

ral

Essa aula dá a você o suporte necessári

Page 3: Componentes - Visão Geral

o para se usar componentes do Swing. É assumido que, neste ponto,

Page 4: Componentes - Visão Geral

você conseguiu compilar e executar o programa apresentado na Aula

Page 5: Componentes - Visão Geral

3 e a atividade proposta também na Aula 3 usando componentes Swing

Page 6: Componentes - Visão Geral

. Agora, veremos algumas vantagens em se utilizar os componentes S

Page 7: Componentes - Visão Geral

wing, entender o que significa portabilidade e introduzir alguns c

Page 8: Componentes - Visão Geral

onceitos para iniciar, nas próximas aulas, o estudos dos component

Page 9: Componentes - Visão Geral

es e como utilizá-los na prática.

Ao final desta aula,

Page 10: Componentes - Visão Geral

você será capaz de:

Dif

Ent

Co

Or

Ent

Introdução

Os componentes do Swing têm uma aparência própria, diferente dos componentes equivalentes que estão ligados diretamente a um sistema operacional, como os componentes do Windows, por exemplo. Veja a Figura 1 a seguir:

Windows Look and Feel

Page 11: Componentes - Visão Geral

Java Look and Feel

Figura 1 – Aparência dos componentes do Swing comparados aos componentes nativos do WindowsPerceba que, visualmente, os componentes são diferentes. Isso acontece porque no caso do Swing, os componentes visuais fazem parte da máquina virtual (JVM – Java Virtual Machine) e isso o deixa totalmente independente do sistema operacional que está por trás disso tudo.

Como consequência, temos a vantagem de ter um programa feito em Java utilizando componentes Swing com exatamente a mesma aparência quando executado em diversos sistemas operacionais. A Figura 2 mostra que nos vários sistemas operacionais (Windows, Unix, MacOS etc.) o ambiente encontrado pelo programa Java é o mesmo, ou seja, ele é compilado para ser executado em uma máquina virtual, não importando em que arquitetura computacional ela esteja inserida.

Figura 2 – A plataforma Java (JVM) permite manter a mesma aparência independentemente do SO

Já a figura a seguir (Figura 3) ilustra as camadas de software e hardware de um sistema computacional, destacando a máquina virtual como intermediária entre um programa feito em Java e o hardware que efetivamente o executará. Como a figura sugere, fica a cargo da máquina virtual a tradução do programa Java para a plataforma na qual a JVM está instalada. Essa solução gera o que chamamos de portabilidade, que nada mais é do que a capacidade de se implementar e compilar um programa apenas uma vez e poder executá-lo em várias plataformas de hardware e software diferentes.

Figura 3 – Destaque da plataforma Java como intermediária entre o hardware e o software

Page 12: Componentes - Visão Geral

1. Por que a aparência dos componentes do Swing é difere

Page 13: Componentes - Visão Geral

nte dos componentes nativos do Windows?

2. Por que a aparência do

Page 14: Componentes - Visão Geral

s componentes do Swing é a mesma em qualquer sistema operacional

Page 15: Componentes - Visão Geral

?

Usando top-level containers

Você sabe o que é um container? São aquelas grandes caixas utilizadas para transportar cargas, observados principalmente em navios. Para o Swing, os containers têm finalidades parecidas: são componentes que têm a capacidade de incluir outros componentes como, por exemplo, o Frame no qual podemos inserir dentro dele outros componentes, tipo Label, EditText, Button, ente outros. O Swing provê três classes que são containers de mais alto nível (top-level container): JFrame, JDialog e JApplet. Isso quer dizer que:

Para aparecer na tela, cada componente deve fazer parte de uma hierarquia. Uma hierarquia de container consiste em uma árvore de componentes que tem um top-level container como raiz. Veja a Figura 5.

Cada componente da GUI deve ser inserido apenas uma vez. Se um componente já está em um container e você tenta adicioná-lo a outro container, este componente será removido do primeiro container e adicionado ao segundo.

Cada top-level container tem um content pane que contém (direta ou indiretamente) os componentes visíveis daquele top-level container.

Você pode, opcionalmente, adicionar uma barra de menus a um top-level container. A barra de menus é posicionada dentro do top-level container, mas fora do content pane.

A Figura 4 a seguir representa um Frame criado por uma aplicação. O frame contém uma barra de menus verde (sem menus) e, no content pane do frame, um grande label amarelo vazio.

Figura 4 – Jframe mostrando a barra de menus e o content pane

A Figura 5 mostra a hierarquia de containers para a GUI da figura anterior.

Page 16: Componentes - Visão Geral

Figura 5 – Hierarquia de containers utilizada no exemplo

GUI, do inglês Graphical User Interface - Interface Gráfica do Usuário, é um tipo de interface que permite a interação com dispositivos digitais através de elementos gráficos como ícones e outros indicadores visuais.

Content pane é a parte do aplicativo o qual usamos para montar a interface. É a partir dela que distribuímos os componentes e implementamos as ações.

Top-level containers e hierarquias de containers

Todo programa que usa componentes do Swing tem pelo menos um container top-level. Este container é a raiz da hierarquia de containers e esta hierarquia, por sua vez, contém todos os componentes do Swing que aparecerão dentro do container top-level.

Uma aplicação para desktop cuja GUI utiliza o Swing tem pelo menos uma hierarquia de containers com um Jframe como sua raiz. Por exemplo, se uma aplicação tem uma janela principal e duas caixas de diálogo, então a aplicação tem três hierarquias de container. Uma que tem um Jframe como raiz e duas com um Jdialog como raiz.

1.O

Page 17: Componentes - Visão Geral
Page 18: Componentes - Visão Geral

2.O

A classe JComponent

Com exceção dos top-level containers, todos os componentes do Swing cujo nome começa com “J” são descendentes da classe JComponent. Por exemplo, JPanel, JScrollPane, JButton e JTable – todos herdam de JComponent. Já o JFrame e JDialog não, porque eles são containers top-level.

A classe JComponent provê as seguintes características a seus descendentes:

Tool tips: especificando uma string (texto) você pode prover ajuda aos usuários sobre determinado componente.

Bordas e desenho: permite especificar as bordas que um componente mostra ao

Page 19: Componentes - Visão Geral

redor das extremidades. É possível, também, desenhar dentro de um componente. Look-and-feel: Possibilidade de mudança de visual e de comportamento para cada

componente. Propriedades customizadas: você pode associar uma ou mais propriedades a

cada Jcomponent. Suporte a layout: possibilidade de mudar características de layout como tamanho

mínimo do componente, alinhamento etc. Suporte a acessibilidade: provê funcionalidade de apoio a tecnologias

assistivas como leitores de tela terem acesso às informações do Swing. Drag and drop: suporte a arrastar e soltar para componentes. Buffer duplo: suaviza o aparecimento dos componentes na tela. Key binding: associa teclas do teclado a eventos dos componentes.

Tecnologias assistivas são "uma ampla gama de equipamentos, serviços, estratégias e práticas concebidas e aplicadas para minorar os problemas encontrados pelos indivíduos com deficiências" (Cook e Hussey, 1995).

Componentes do Swing

Os componentes do Swing serão apresentados nas próximas aulas. Começaremos pelos componentes mais usados, explicando seus principais métodos e propriedades. Com o desenvolver das aulas, veremos alguns componentes de uso mais específico e que serão utilizados em estudos posteriores. Mostraremos exemplos do uso de cada componente, assim como serão cobrados exercícios para todos estes. O ambiente Netbeans será utilizado durante todo o curso deste ponto em diante.

Resumo

Nessa aula nós vimos como funciona o Swing e porque ele mantém a aparência de suas aplicações em diferentes sistemas operacionais. Você aprendeu que portabilidade é a possibilidade de implementação e execução de um programa uma única vez, gerando um aplicativo capaz de ser executado em plataformas diferentes. Vimos como os componentes do Swing se organizam, aprendemos um pouco sobre a classe JComponent e o que são os componentes top-level. Agora, nas próximas aulas, vamos conhecer alguns dos componentes mais utilizados do NetBeans, suas propriedades mais importantes e como implementá-los.

1.Qu

2.O

3.O

Page 20: Componentes - Visão Geral

Referencias

COOK; HUSSEY. Assistive tecnologies: principles and practices. Maryland Heights: Mosby – Year Book, 1995.

THE JAVA TUTORIALS. Lesson: using swing components. Disponível em: <http://download.oracle.com/javase/tutorial/uiswing/components/index.html>. Acesso em: 25 ago. 2010.