Académique Documents
Professionnel Documents
Culture Documents
Produtividade
Componentes GUI
Uma GUI uma coleo de componentes GUI; Um componente GUI um objeto com capacidades de interagir com o utilizador do aplicativo por meio de mouse, teclado, reconhecimento de voz, etc.
Antes da verso J2SE 1.2; Forte dependncia do sistema operacional; A JVM utiliza componentes GUI providos pelo SO (considerando as capacidades oferecidas por cada SO) componentes pesados;
javax.swing
Componentes Java puros (completamente escritos, manipulados e exibidos em Java) componentes leves; No esto amarrados a componentes GUI reais da plataforma subjacente; Compem a JFC (Java Foundation Classes) bibliotecas do Java para desenvolvimento de GUI para mltiplas plataformas.
Componentes grficos
JLabel
Exibe um texto no editvel ou cones; Caixa de texto que permite ao usurio inserir dados via teclado; Boto ou cone que desencadeia um evento ao ser clicado;
JComponente a superclasse de todos os componentes leves Swing e declara seus atributos e comportamentos comuns (botes, caixas de texto, listas drop-down so subclasses de JComponent)
Container vs JComponent
Um container um agrupamento ou uma coleo de JComponents;
Observe o cdigo abaixo:
Posicionamento absoluto
O gerenciador de layout deve ser ajustado para null (uma vez que no ser utilizado);
Container.setLayout(null);
FlowLayout
Os componentes so colocados sequencialmente da esquerda para direita na ordem em que foram adicionados; Admite trs opes de alinhamento, atravs do mtodo setAlignment():
FlowLayout.CENTER
FlowLayout.LEFT
FlowLayout.RIGHT
BorderLayout
Organizao de componentes em cinco reas de tela: centro e os pontos cardeais;
GridLayout
Organizao de componentes em linhas e colunas que formam uma grade
GridLayout layout = new GridLayout(3,2,3,20);
3 linhas, 2 colunas, 3 pixels de espaamento entre colunas e 20 pixels entre linhas
Os componentes so adicionados da esquerda para direita e de cima para baixo (depois que enche a primeira linha vai para a segunda). Todos mantm o mesmo tamanho.
Tratamento de Eventos
As GUIs so baseadas em eventos; Evento a interao que ocorre entre o usurio e o componente GUI e que indica ao programa que algo deve ser executado;
So exemplos de eventos: algo ser clicado, algo ser digitado, algo a receber o foco;
O cdigo que realiza uma tarefa em resposta a um evento conhecido como handler de evento; O processo total de responder a eventos conhecido como tratamento de eventos.
Origem do Evento
(Event Source) Dispara um evento (objeto EventObject) Origem registra seu manipulador
Manipulador do Evento
(Event Listener)
Reage ao evento
Interfaces Ouvintes
Janelas de dilogo
GUI Expressas ...
A classe JOptionPane oferece janelas pr-formatadas e mtodos estticos para produo de caixas de dilogo: Alguns exemplos:
JOptionPane.showMessageDialog(null, "Mensagem", "Titulo", JOptionPane.ERROR_MESSAGE);
Object[] possibleValues = { "Grmio", "Internacional", "Juventude" }; Object selectedValue = JOptionPane.showInputDialog(null, "Escolha uma opo", "Ttulo", JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
Classes Adaptadoras
Para fazer o tratamento de um evento a classe que implementa seu manipulador precisa declarar TODOS os mtodos da interface; Muitas vezes apenas um dos mtodos da interface precisa ser tratado, mas como utilizado o conceito de interface, TODOS precisam pelo menos ser declarados. Uma classe adaptadora implementa uma determinada interface e fornece uma implementao padro para cada mtodo (geralmente vazia). Exemplos: KeyAdapter (implementa KeyListener), MouseAdapter (implementa MouseListener), WindowAdapter (implementa WindowListener).
Carto de Visitas...
Implemente e organize uma interface grfica para exibir uma janela como um carto de visita seu ...
Utilize o mximo de recursos que conseguir; Adicione uma foto ou caricatura sua alm de dados bsicos como nome, telefone e endereo de e-mail;