Programao Grfica em Java Tela Cheia Aula 09



















- Slides: 19
Programação Gráfica em Java Tela Cheia Aula 09
Na aula passada vimos: • Java 2 D 2
O que você deve ter fixado: . . . que Java 2 D oferece possibilidades incríveis. . . que é necessário algum tempo de estudo para compreender seu funcionamento • Utilizar os objetos do tipo Shape e as curvas de 2º e 3º grau 3
O que você deve ter fixado: • Utilizar as dicas de renderização • Criar gradientes e strokes • Determinar os atributos do rendering context da classe Graphics 2 D 4
Na aula de hoje veremos: • A API Full Screen Exclusive Mode 5
Full-Screen Mode • full-screen é uma funcionalidade implementada no J 2 SE 1. 4 • Permite eliminar as janelas e desenhar direto para a tela • A pintura é feita ativamente pelo programa em contraste com o que ocorre em janelas 6
Full-Screen Mode • Permite o uso de técnicas avançadas de desenho, como page flipping e multi buffering • Utiliza métodos de desenho possíveis apenas em modo full screen 7
Interação com hardware • O modo full screen é gerenciado através de um objeto java. awt. Graphics. Device • Os possíveis graphics. Device podem ser acessados através de uma instância de java. awt. Graphics. Environment • Nem todo sistema suporta o modo tela cheia; existem métodos de verificação Animated. Font. Window. java 8
Verificando • Use is. Full. Screen. Supported() para verificar a disponibilidade do modo tela cheia – Faça-o antes de entrar no modo tela cheia • Use set. Full. Screen. Window(Window w) para iniciar o modo tela cheia com a janela w; • Use esse método com parâmetro nulo para encerrar o modo tela cheia 9
Cuidados • Forçar o uso de tela cheia degrada a performance • Use try/catch para entrar ou sair do modo tela cheia • Use apenas janelas não decoradas 10
Cuidados • Não permita redimensionamento – Isso eliminaria a vantagem principal do modo tela cheia, o desenho ativo • Applets precisam de permissão para usar tela cheia 11
Java. awt. Display. Mode • Composto por: • Size: as dimensões do monitor • Bit depth: a quantidade de bits por pixel • Refresh rate: a taxa de atualização do monitor • Esses parâmetros são configuráveis • Disponível apenas em modo tela cheia Display. Mode. Test. java 12
Desenho passivo e ativo • Programas tradicionais (em janelas) fazem desenho passivo. . . Dependem do sistema operacional. • Programas em tela cheia não precisam depender do mecanismo padrão de pintura. . . Ativo • Tela cheia pode não usar o método paint 13
Dicas • É aconselhável ignorar as chamadas ao método paint – Use o método set. Ignore. Repaint() • Não use componentes pesados. . . Fique à vontade para usar os leves • Admita o desenho passivo apenas no caso de criar uma aplicação AWT ou Swing simples 14
15
16
Multi buffering • Usar vários back-buffers na seqüência de trocas (flip chain) • Útil quando o tempo gasto no desenho é maior que a taxa de atualização do monitor • Aumenta a performance percebida e não a numérica Multi. Buffer. Test. java 17
O que você precisa saber. . . • Verificar se um sistema pode operar em modo full screen • Desenhar direto para a tela • Utilizar os métodos avançados de desenho 18
Na próxima aula veremos: • Jigloo GUI Builder 19