Programao Grfica em Java Tela Cheia Aula 09

  • Slides: 19
Download presentation
Programação Gráfica em Java Tela Cheia Aula 09

Programação Gráfica em Java Tela Cheia Aula 09

Na aula passada vimos: • Java 2 D 2

Na aula passada vimos: • Java 2 D 2

O que você deve ter fixado: . . . que Java 2 D oferece

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

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

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

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

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

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

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

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

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 •

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. . .

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

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

15

16

16

Multi buffering • Usar vários back-buffers na seqüência de trocas (flip chain) • Útil

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

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

Na próxima aula veremos: • Jigloo GUI Builder 19