As aplicações feitas em J2ME (MIDlets) devem rodar em qualquer dispositivo que tenha uma máquina virtual Java. Porém os dispositivos podem variar em tamanho de tela, número de cores que representam na tela, disposição dos botões, entre outros e estas informações são acessadas pela MIDlet somente em tempo de execução.
Para solucionar esses problemas as aplicações são desenvolvidas com uma certa abstração de tela e para acessar as informações de um determinado aparelho existe a classe Display. Cada MIDlet possui sua própria instância dessa classe que pode ser acessada pelo método
Display.getDisplay(MIDLet).
Portanto, a tela do dispositivo é representada por uma instância da classe Display e para que seja mostrado algo na tela devemos passar um objeto Displayable para o objeto da classe Display.
Displayable é uma classe abstrata que controla o que é mostrado na tela e os comandos enviados pelos usuários.
Existem duas classes que herdam a classe Displayable, que são: Screen e Canvas.
Canvas é uma classe de baixo nível (Low-Level API’s). Ela proporciona maior liberdade na implementação dos gráficos e eventos. É muito utilizada para a criação de jogos.
Screen é uma classe de alto nível (High-Level API’s). Ela contém objetos gráficos “prontos”, como forms, lists, alerts e textboxes, onde cada um pode ter uma aparência, variando de acordo com o dispositivo em que esta sendo executada a aplicação. Screen e suas heranças são classificadas como objetos de interface.
Em um Displayable podem ser exibidos comandos, que são aplicados aos botões. E no form podem ser exibidos itens, como: ChoiceGroup, DataField, ImageItem, StringItem, TextField, entre outros, que serão explicados com mais detalhes em posts seguintes.
Os comandos (commands) são usados para a interação do usuário com a aplicação. Podem ser atribuídos a um Displayable ou a um Item. Uma de suas funções básicas é a troca de Displayables. Quando um comando é acionado pelo usuário, é notificado a um CommandListener que é definido no objeto Displayable.
Todas essas classes pertencem a biblioteca javax.microedition.lcdui que é demonstrada no diagrama abaixo.

O Display faz a ponte entre as telas da aplicação (Displayables) e a aplicação (MIDlet). É a classe que recebe os Displayables.
O Displayable é uma superclasse a qual deriva duas subclasses: Screen, que é de alto nível e Canvas, que é de baixo nível.
E Commands são comandos associados ao Displayable, que são usados na iteração entre usuário e aplicação.
No próximo post veremos uma subclasse de Screen, o form, e alguns tipos de itens. O artigo conterá teoria e um exemplo prático, com explicação do código.
1 comentários:
Muito bom, ajudou muito ! Obrigado !
Postar um comentário