Interface grafica

Disponível somente no TrabalhosFeitos
  • Páginas : 15 (3722 palavras )
  • Download(s) : 0
  • Publicado : 22 de novembro de 2012
Ler documento completo
Amostra do texto
Programação por Objectos Interfaces gráficas

LEEC@IST

Swing – 1/68

Introdução (1)
• O Java disponibiliza um conjunto de pacotes para geração de unidades de interface gráfica (GUI).
– AWT (Abstract Window Toolkit)
• • • • • • pacote java.awt (import java.awt.*;) disponibilizado no JSE 1.1 dependente de código nativo pacote javax.swing (import javax.swing.*;) disponibilizado no JSE 1.2expande o AWT (17 pacotes na versão 1.4)

– Swing

LEEC@IST

Swing – 2/68

Introdução (2)
• O Swing possui componentes, que seguem a arquitectura MVC:
– Modelo Espaço de dados do componente (ex: barra de elevador possui 3 posições-mínimo, médio e máximo). – Apresentação (view) Forma de visualização do componente (ex: janela Windows, com botão de fecho no canto superior direito). –Controlador Forma como o componente interage com eventos (ex: clicar no rato).
LEEC@IST

Componente

Modelo Controlador Apresentação
Delegação UI
Swing – 3/68

Introdução (3)
• Componentes do Swing*
– JComponent
• JPanel • JButton • …

– JFrame – JDialog – JApplet Tudo o que surge na janela faz parte de uma hierarquia de um (ou mais) contentores de inclusão de instâncias de JFrame,JDialog ou JApplet. Nota: componentes do AWT possuem mesmo identificador, sem prefixo J!
LEEC@IST Swing – 4/68

Introdução (4)
Component
Button LayoutManager

Container

Panel

Window

JComponent

Applet

Frame

Dialog

AbstractButton

JTextComponent

JPanel JApplet JFrame JButton
LEEC@IST

JTextField
Swing – 5/68

Componentes Swing: contentores de topo

JDialog Ascaixas de dialogo são normalmente mais simples. Existem várias predefinidas em “JOptionPane”. Estas são normalmente Modal. O thread corrente fica suspenso a espera da resposta do utilizador.
LEEC@IST

JFrame JFrame corresponde a uma janela normal com uma frame (o contorno da janela que permite o dimensionamento e reposicionamento).
Swing – 6/68

Componentes Swing: contentores intermédiosJPanel

JScrollPane

JTabbedPane

JSplitPane
LEEC@IST

JToolBar
Swing – 7/68

Componentes Swing: contentores especiais

JPanel

JLayeredPane JInternalFrame
LEEC@IST Swing – 8/68

Componentes Swing: componentes básicas

JList JButton JComboBox

JSlider

JMenu
LEEC@IST

JSpinner

JTextField
Swing – 9/68

Componentes Swing: componentes básicas
JProgressBarJLabel

JToolTip
LEEC@IST Swing – 10/68

Componentes Swing: componentes avançadas

JColorChooser

JFileChooser

JTable
LEEC@IST

JTree JText
Swing – 11/68

Componentes Swing: componentes avançadas

LEEC@IST

Swing – 12/68

JEditorPane
• text/plain
– Plain text, which is the default the type given isn't recognized. The kit used in this case is an extension ofDefaultEditorKit that produces a wrapped plain text view.

• text/html
– HTML text. The kit used in this case is the class javax.swing.text.html.HTMLEditorKit which provides HTML 3.2 support.

• text/rtf
– RTF text. The kit used in this case is the class javax.swing.text.rtf.RTFEditorKit which provides a limited support of the Rich Text Format.
LEEC@IST Swing – 13/68

Contentor (1)
• Um contentorrecolhe todos os componentes a visualizar na janela.
– Os componentes vão sendo inseridos a partir do fundo (método add), em direcção do utilizador, formando uma pilha. – Se necessário, os componentes podem ser deslocados para uma posição específica na pilha, ou eliminados.

• Há dois tipos de contentores:
– Panel (rectângulo com componentes) – Window (janela)

LEEC@IST

Swing – 14/68 Contentor (2)
• Métodos:
– Component add(Component comp) adiciona componente no topo da pilha – Component add(Component comp, int index) adiciona componente numa posição específica – void remove(int index) remove componente colocado numa posição – void remove(Component comp) remove componente da pilha

LEEC@IST

Swing – 15/68

Componente
• Um componente é a representação gráfica de tudo...
tracking img