Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouJoão Guilherme Santos Castanho Alterado mais de 8 anos atrás
1
Programação Gráfica em Java Swing Aula 06
2
2 Na aula passada vimos: Thread Animação Técnica de desenho eficiente (double-bufferring)
3
3 O que você deve ter fixado: Formas de se implementar um fluxo paralelo de execução Passos básicos de uma animação Animação como monitoramento de estado
4
4 O que você deve ter fixado: Diferenças entre animação automática e por solicitação do usuário Diferença entre buffer simples e duplo Uso do método update em animações: manter ou não a imagem anterior?
5
5 Na aula de hoje veremos: Swing: Por quê Swing Estratégia MVC (model-view-controller) Componentes AWT - semelhantes Contêineres Novos componentes do Swing
6
6 Swing... what? Kit de ferramentas para construção de interfaces gráficas com o usuário É parte da JFC (Java Foundation Classes) –AWT –Swing –Acessibilidade –Api 2D –Drag-N-Drop JFC é a parte maior (e mais complicada) da plataforma Java padrão
7
MixPopUpTest.java7 Swing... how? Componentes swing, de modo geral não devem ser usados com componentes AWT Componentes “pesados” sempre se sobrepõem aos componentes “leves” Programas que utilizam Swing aproveitam a infra-estrutura não visual do AWT – modelo de eventos, gerenciador de leiaute e etc.
8
8 Swing... why? Portabilidade Peso leve == maior eficiência Independência do comportamento nativo Facilidade para criação de GUI complexa
9
mvc.view.CadastroPessoa.java9 Model View Controller Separação do modelo (dados) + Separação da visão (apresentação) + Separação do controle (comportamento) = Aplicações de fácil manutenção e criação de componentes reutilizáveis
10
10 A Visual Index to the Swing Components arquivo
11
QuickChange.java11 AWT - semelhantes Swing tem similares a todos os componentes AWT Todos são precedidos pela letra ‘J’ Todos têm comportamento semelhante à implementação AWT –AWT e Swing possuem uma hierarquia paralela
12
12 Contêineres JWindow JFrame –Notar a existência do método: setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Japplet –Apresenta diferenças importantes da classe Applet JComponent
13
SwingApplication.java13 Contêineres Todo container de alto nível possui um painel de conteúdo O painel de conteúdo (content pane) deve conter todos os componentes visíveis da GUI As barras de menu são a exceção a essa regra
14
14 Usando contêineres Normalmente, acessamos o painel de conteúdo, configuramos o seu gerenciador de leiaute e adicionamos os componentes Porém existem várias camadas de um contêiner que o programador poderia desejar acessar –Não entraremos em detalhes mas, como curiosidade veja a próxima figura
15
15 Hierarquia de Contenção Dica: para ver a hierarquia de contenção de um frame ou dialog do Swing, clique em sua borda para selecioná-lo, então pressione ctrl-shfit-f1 e veja o resultado na saída padrão do sistema.
16
ListDialog.java16 Leiaute Swing oferece um notável gerenciador: BoxLayout Cria apenas linhas ou colunas de componentes Altamente flexível e simples Pode ser usado como alternativa ao GridBagLayout
17
MixPopUpTest.java17 A classe Box É um painel que implementa o BoxLayout por padrão Não é possível modificar o leiaute de um Box Possui vários métodos de conveniência para o uso do BoxLayout
18
ImageSequence.java18 Conversão AWT-Swing... why? Maior número de componentes e funcionalidades Componentes swing continuarão melhorando Têm acessibilidade implementada por padrão
19
19 Sempre Swing ? É razoável usar AWT se: Você sabe (ou imagina) que seus usuários não dispõem de browsers atualizados Se você quiser que todo internauta possa visualizar seus applets Se você não espera que seus usuários possuam versões modernas do JDK, ou do Java Plug-in
20
20 O que você precisa saber... Diferenças entre AWT e Swing Acessar o painel de conteúdo dos contêineres Swing Implementar MVC
21
21 O que você precisa saber... Usar BoxLayout Quando usar AWT Converter uma aplicação AWT para Swing
22
22 Na próxima aula veremos: Applet
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.