If you can't read please download the document
Java 17 Swing
Embed Size (px)
Citation preview
- 1. Interfaces grficas usando Swing
2. AWT e Swing
- AWT (Abstract Window Toolkit)
-
- Prov facilidades para interface de usurio (IU) em Java.
-
- Insuficiente para suportar interfaces de usurio complexas.
-
- Conjunto de componentes de UI muito mais completo, flexvel e
portvel do que o provido pela AWT.
-
- Conjunto de componentes grficos customizveis cujo look-and-feel
(L&F) pode ser ditado em tempo de execuo.
-
- Construdo no topo das classes que compem o ncleo das
bibliotecas AWT.
-
- Distingue claramente os dados que um componente mostra (modelo)
do display dos dados (viso).
3. Swing
- O Swing utiliza uma variante simplificada do design MVC
denominada model-delegate
-
- Este projeto combina a viso e o controlador em um nico
componente => UI delegate
-
- O MVC no Swing se apresenta como dois componentes
-
-
-
- Mantm informao sobre o estado do componente
-
-
-
- Responsvel desenhar os componentes na tela e manipular eventos
na GUI
4. Containers de Alto Nvel
-
- Toda aplicao Swing possui pelo menos um container de alto
nvel
-
-
- Usualmente uma instncia de JFrame ou JDialog.
-
-
- Prov suporte para que os componentes possam realizar pintura e
tratamento de eventos.
-
- Para ser apresentado na tela, todo componente GUI deve fazer
parte de uma hierarquia de contedo
-
-
- Uma hierarquia possui umcontainerde alto nvel como raiz
-
- Cadacontainerde alto nvel possui umcontent pane
-
-
- Contm os componentes visveis contidos nocontainer
-
- Podem possuir uma barra de menus opcional
-
-
- A barra de menus fica fora docontent pane
5. Containers de Alto Nvel 6. Aplicaes Swing
-
- Hierarquia de componentes
7. Hierarquia Comum de Containers
-
- JFrame =>top-level container
-
- Content pane e JPanel =>containersintermedirios
-
- JButton e JLabel => componentes
8. Aplicaes Swing
-
- Adio de componentes aocontent pane
-
-
- Basta obter ocontent panedocontainere ento adicionar o
componente
-
-
-
- frame.getContentPane().add(label, BorderLayout.CENTER);
9. Look & Feel
-
- Usualmente feita no mtodomain
10. Look & Feel
-
- Argumento para UIManager.setLookAndFeel
-
-
- UIManager.getCrossPlatformLookAndFeelClassName()
-
-
-
- L&F que funciona em todas as plataformas (Java
L&F)
-
-
- UIManager.getSystemLookAndFeelClassName()
-
-
-
- L&F para a plataforma em uso
-
-
-
-
- Plataforma Windows => Windows L&F
-
-
-
-
- Plataforma Mac OS=> Mac OS L&F
-
-
-
-
- Plataforma Unix (Solaris, Linux, ...) => CDE/Motif
L&F
-
-
- "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
-
-
-
- GTK+ L&F => introduzido na release 1.4.2
-
-
- "javax.swing.plaf.metal.MetalLookAndFeel"
-
-
-
- Java L&F => tambm conhecido como Metal
-
-
- "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"
-
-
-
-
- Atualmente s pode ser usado em sistemas Windows
11. Aplicaes Swing
-
-
- Registro de action listener
12. Aplicaes Swing
-
-
- Registro de action listener
13. Aplicaes Swing
-
-
- Registro de action listener
14. Aplicaes Swing
-
-
- Modificao de aba selecionada
15. Aplicaes Swing
-
-
- Configurao geral e orientao do split
-
-
- Posicionamento do divisor
-
-
- Restrio de tamanho do divisor
16. Aplicaes Swing
-
-
- Cria uma tabela para apresentar dados tabulares
-
-
-
- Muito utilizado para mostrar tabelas detalhe de tabelas
mestre
-
-
-
-
- Lado N de relacionamento 1:N
-
-
-
- JTable(Object[][] rowData, Object[] columnNames)
-
-
-
- JTable(Vector rowData, Vector columnNames)
-
-
- Pode utilizar diversos modelos de dados
17. Aplicaes Swing
-
-
- Pode utilizar diversos tipos de renderizadores para os
componentes contidos nas clulas
-
-
-
- Alta flexibilidade para definir a aparncia da tabela
18. Aplicaes Swing
-
-
- Posiciona os componentes em 5 reas
-
-
-
- Norte, sul, leste, oeste e centro
-
-
- BorderLayout(int horizontalGap, int verticalGap)
-
-
- setHgap(int) e setVgap(int)
19. Aplicaes Swing
-
-
- Permite posicionar elementos de forma linear
-
-
-
- Da esquerda para a direita
20. Aplicaes Swing
-
-
- Permite posicionar elementos linearmente
-
-
-
- Da esquerda para a direita
-
-
-
-
- Caso no caibam em uma linha, novas linhas so adicionadas
automaticamente
-
-
- public FlowLayout(int alignment)
-
-
- public FlowLayout(int alignment,int horizontalGap, int
verticalGap)
21. Aplicaes Swing
-
-
- Dispe os componentes em um grid de linhas e colunas
-
-
- Cada componente ocupa o espao exato de uma clula
-
-
- public GridLayout(int rows, int columns)
-
-
- public GridLayout(int rows, int columns, int horizontalGap, int
verticalGap)
22. Aplicaes Swing
-
-
- Layout mais flexvel e mais complexo do Swing
-
-
- Dispe os componentes em um grid de linhas e colunas
-
-
-
- Componentes podem se estender a vrias linhas ou colunas
-
-
- Configuraes so passadas para o layout atravs de uma instncia da
classeGridBagConstraints