• Nenhum resultado encontrado

GRAPHICAL USER INTERFACEGRAPHICAL USER INTERFACE

No documento Felipe Guimarães (páginas 37-72)

GRAPHICAL USER INTERFACE

MIDlets MIDlets

MIDlets

MIDlets

Display Display



 RepresentaRepresenta o o gerenciadorgerenciador do display e de do display e de

dispositivos

dispositivos de de entradaentrada..



 PossuiPossui métodosmétodos parapara obterobter propriedadespropriedades do do

dispositivo

dispositivo e e parapara exibirexibir objetosobjetos no display.no display. dispositivo

dispositivo e e parapara exibirexibir objetosobjetos no display.no display.



 ExisteExiste apenasapenas umauma instânciainstância de Display de Display porpor

MIDlet MIDlet..



 PodePode ser ser obtidoobtido atravésatravés do do métodométodo

Display.getDisplay Display.getDisplay().().

Display

Display –– AlgunsAlguns MétodosMétodos



 flashBackLightflashBackLight((intint duracaoduracao) )  requisitarequisita um um

efeito

efeito de flashing no visor do de flashing no visor do dispositivodispositivo



 isColorisColor() ()  retornaretorna se o display é se o display é coloridocolorido 

 numColorsnumColors() ()  retornaretorna o o númeronúmero de coresde cores 

 numColorsnumColors() ()  retornaretorna o o númeronúmero de coresde cores 

 vibrate(vibrate(intint duracaoduracao) )  vibravibra o o dispositivodispositivo 

 setCurrentsetCurrent(Displayable d) (Displayable d)  modificamodifica a a telatela

atual atual



Displayable Displayable



 ElementoElemento queque podepode ser ser exibidoexibido no Display.no Display. 

 PodePode conterconter::

  Um Um títulotítulo   Um “ticker”Um “ticker”   Um “ticker”Um “ticker” 

 Zero Zero ouou maismais comandoscomandos parapara interaçãointeração com o com o

usuário

usuário atravésatravés de um listener (de um listener (CommandListenerCommandListener).).



 No MIDP No MIDP podempodem ser:ser:



 ScreenScreen 

Displayable Displayable



 ModificarModificar o o conteúdoconteúdo do display: do display: passandopassando

objetos

objetos Displayable Displayable aoao Display.setCurrentDisplay.setCurrent(). ().



 SequênciaSequência normalnormal



 ExibeExibe um Displayable no displayum Displayable no display 

 ExibeExibe um Displayable no displayum Displayable no display 

 AguardaAguarda porpor entradaentrada do do usuáriousuário 

 EscolheEscolhe a a próximapróxima telatela a a exibirexibir 

Displayable

Displayable  Screen Screen



 ClasseClasse abstrataabstrata parapara UI de UI de alto alto nívelnível.. 

 SeuSeu conteúdoconteúdo e e interaçãointeração devemdevem ser ser definidosdefinidos

pelas

pelas subclassessubclasses



 ExistemExistem quatroquatro subclasses subclasses definidasdefinidas:: 

 ExistemExistem quatroquatro subclasses subclasses definidasdefinidas::

  AlertAlert   FormForm   ListList   TextBoxTextBox

Displayable

Displayable  Screen Screen  TextBoxTextBox



 É o Screen É o Screen queque permitepermite aoao usuáriousuário entrarentrar e e

editar

editar textotexto..



 PossuiPossui um um títulotítulo, , textotexto, , tamanhotamanho máximomáximo e e

restrições restrições.. restrições restrições..



 RestriçõesRestrições ((atravésatravés dada classeclasse TextFieldTextField):):



 ANY ANY –– QualquerQualquer caracterecaractere 

 EMAILADDR EMAILADDR –– EndereçoEndereço de emailde email 

 NUMERIC NUMERIC –– NúmerosNúmeros inteirosinteiros 

 PHONENUMBER PHONENUMBER –– TelefoneTelefone 

Displayable

Displayable  Screen Screen  TextBoxTextBox protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

TextBox textBox = new

TextBox textBox = new

TextBox("Título","Texto",10,TextField.ANY);

display.setCurrent(textBox);

Displayable

Displayable

Displayable  Screen  Screen  List List



 Um Screen Um Screen contendocontendo umauma listalista de String e de String e

Images. Images.



 PodePode ser ser criadocriado com com osos tipostipos (Choice): (Choice):



 EXCLUSIVE EXCLUSIVE –– UsuárioUsuário selecionaseleciona apenasapenas um um 

 EXCLUSIVE EXCLUSIVE –– UsuárioUsuário selecionaseleciona apenasapenas um um

elemento elemento..



 IMPLICIT IMPLICIT –– UsuárioUsuário selecionaseleciona apenasapenas um um elementoelemento, ,

que

que notificanotifica um listener.um listener.



 MULTIPLE MULTIPLE –– UsuárioUsuário selecionaseleciona zero, um zero, um ouou maismais

elementos

Displayable

Displayable  Screen  Screen  List List protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

List list = new List("Clubes",

ChoiceGroup.IMPLICIT,new

String[]

{"Sport","Náutico","Santa Cruz"},

null);

display.setCurrent(list);

Displayable

Displayable  Screen Screen  AlertAlert



 Um Screen Um Screen queque exibeexibe dados dados parapara o o usuáriousuário e e

aguarda

aguarda porpor um tempo um tempo ouou eventoevento antes de antes de exibirexibir o

o próximopróximo Displayable.Displayable.



 PodePode conterconter textotexto e e imagemimagem.. 

 PodePode conterconter textotexto e e imagemimagem.. 

 Alert.setTimeoutAlert.setTimeout((intint timeout)timeout)



 Alert.Alert.FOREVERFOREVER  AlertaAlerta modal, modal, aguardaaguarda atéaté o o

usuário

usuário pressionarpressionar algumalgum comandocomando..



 CasoCaso contráriocontrário  AguardaAguarda o tempo o tempo especificadoespecificado

pelo

Displayable

Displayable  Screen Screen  AlertAlert



 PossuiPossui osos atributosatributos::



 TítuloTítulo, , TextoTexto, , ImagemImagem, , TipoTipo de de alertaalerta ((AlertTypeAlertType))



 AlertTypeAlertType::



 INFO INFO  IndicaIndica a a exibiçãoexibição de de informaçõesinformações 

 INFO INFO  IndicaIndica a a exibiçãoexibição de de informaçõesinformações 

 WARNING WARNING  IndicaIndica queque a a operaçãooperação podepode ser ser

perigosa perigosa



 ERROR ERROR  ErroErro durantedurante a a operaçãooperação 

 ALARM ALARM  AlertaAlerta a a respeitorespeito de de algumalgum eventoevento 

Displayable

Displayable  Screen Screen  AlertAlert

protected void startApp() throws MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

List list = new List("Clubes",ChoiceGroup.IMPLICIT,new String[] {"Sport","Náutico","Santa Cruz"}, null);

Alert alert = new Alert("Erro","Erro na conexão com o servidor!", null, AlertType.ERROR);

alert.setTimeout(5000);

display.setCurrent(alert, list);

Displayable

Displayable  Screen Screen  AlertAlert

Displayable

Displayable  Screen Screen  FormForm



 Screen Screen queque contémcontém váriosvários ítensítens.. 

 ÍtensÍtens sãosão::



 InterativosInterativos 

 ChoiceGroupChoiceGroup ((semelhantesemelhante aoao List)List) 

 DateFieldDateField ((exibeexibe data e/data e/ouou horahora)) 

 Gauge (Gauge (barrabarra de de progressoprogresso) () (interativainterativa)) 

 TextFieldTextField ((semelhantesemelhante aoao TextBoxTextBox)) 

 NãoNão InterativosInterativos 

 ImageItemImageItem ((exibeexibe umauma imagemimagem)) 

 StringItemStringItem ((exibeexibe um label)um label) 

Displayable

Displayable  Screen Screen  FormForm



 EmEm se se tratandotratando de GUI de alto de GUI de alto nívelnível, , apenasapenas o Form o Form

possibilita

possibilita múltiplosmúltiplos ítensítens nana telatela..



 ConstrutoresConstrutores::



 Form(String Form(String tituloForm(String tituloForm(String titulo) titulo) ) )  cria cria cria um form cria um form um form semum form semsem nenhumsem nenhumnenhum ítemnenhum ítemítemítem 

 Form(String Form(String titulotitulo, Item[] , Item[] itensitens) )  criacria um form com o um form com o títulotítulo

e

e osos ítensítens passadospassados 

 MétodosMétodos principaisprincipais::



 append append  adicionaadiciona um um ítemítem aoao formform 

 delete delete  remove um remove um ítemítem do formdo form 

Form

Form -- ItemItem



 ClasseClasse abstrataabstrata parapara osos componentescomponentes queque podempodem ser ser

adicionados

adicionados aoao Form.Form.



 TodosTodos osos ítensítens contémcontém um label, um label, queque geralmentegeralmente

exibidos

exibidos pertoperto do do componentecomponente no display.no display. exibidos

exibidos pertoperto do do componentecomponente no display.no display.



 O label O label devedeve ser ser exibidoexibido nana mesmamesma linhalinha queque o o

componente

componente ouou emem cimacima dele.dele.



 Subclasses: Subclasses: ChoiceGroupChoiceGroup, , StringItemStringItem, , TextFieldTextField, ,

Gauge,

Item

Item  StringItemStringItem



 Um Um ítemítem queque contémcontém umauma StringString 

 NãoNão podepode ser ser editadoeditado (é um Label)(é um Label) 

 TantoTanto o label o label quantoquanto a string a string podempodem ser ser

modificados

modificados pelapela aplicaçãoaplicação modificados

modificados pelapela aplicaçãoaplicação



 O visual do label O visual do label podepode ser ser diferentediferente do visual do do visual do

conteúdo

Item

Item  StringItemStringItem protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

StringItem string = new

StringItem("","Campeonato Pernambucano de Futebol");

form.append(string);

display.setCurrent(form); }

Item

Item  ChoiceGroupChoiceGroup



 GrupoGrupo de de elementoselementos queque podempodem ser ser

selecionados

selecionados. . SóSó podempodem ser ser usadosusados DENTRO DENTRO de um Form (

de um Form (aoao contráriocontrário do List).do List).



 PodePode ser ser criadocriado de forma a de forma a possibilitarpossibilitar queque sejaseja 

 PodePode ser ser criadocriado de forma a de forma a possibilitarpossibilitar queque sejaseja

selecionado selecionado: :



 apenasapenas um um elementoelemento ((comocomo radio button)radio button) 

Item

Item  ChoiceGroupChoiceGroup (EXCLUSIVE)(EXCLUSIVE) protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

ChoiceGroup choice = new

ChoiceGroup("Clubes",ChoiceGroup.EXCLUSIVE

,new String[] {"Sport","Náutico","Santa Cruz"}, null);

form.append(choice);

display.setCurrent(form); }

Item

Item  ChoiceGroupChoiceGroup (POPUP)(POPUP) protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

ChoiceGroup choice = new

ChoiceGroup("Clubes",ChoiceGroup.POPUP,new

String[] {"Sport","Náutico","Santa Cruz"},

null);

form.append(choice);

display.setCurrent(form); }

Item

Item  ChoiceGroupChoiceGroup (POPUP)(POPUP) protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

ChoiceGroup choice = new

ChoiceGroup("Clubes",ChoiceGroup.POPUP,new

String[] {"Sport","Náutico","Santa Cruz"},

null);

form.append(choice);

display.setCurrent(form); }

Item

Item  ChoiceGroup ChoiceGroup (MULTIPLE)(MULTIPLE) protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

ChoiceGroup choice = new

ChoiceGroup("Clubes",ChoiceGroup.MULTIPLE, new String[] {"Sport","Náutico","Santa

Cruz"}, null);

form.append(choice);

display.setCurrent(form); }

ChoiceGroup

ChoiceGroup != List!= List

protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

ChoiceGroup choice = new

ChoiceGroup choice = new

ChoiceGroup("Clubes",ChoiceGroup.MULTIPLE,new String[] {"Sport","Náutico","Santa Cruz"}, null);

form.append(choice);

StringItem string = new StringItem("","Campeonato Pernambucano de Futebol");

form.append(string);

display.setCurrent(form); }

Item

Item  TextFieldTextField



 ComponenteComponente editáveleditável queque podepode ser ser adicionadoadicionado

ao

ao Form.Form.



 PodePode conterconter um um textotexto usadousado comocomo valor valor inicialinicial.. 

 IgualIgual aoao TextBoxTextBox? ? 

 IgualIgual aoao TextBoxTextBox? ?



 DifereDifere do do TextBoxTextBox poispois precisaprecisa estarestar dentrodentro de um de um

Form

Form parapara existirexistir..



 PorémPorém é é semelhantesemelhante visualmentevisualmente e e emem caracteríscascaracteríscas

como

Item

Item  TextFieldTextField protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Futebol");

TextField textField = new TextField("Clube de Preferência","",50, TextField.ANY);

form.append(textField);

display.setCurrent(form); }

Item

Item  ImageItemImageItem



 ComponenteComponente queque possuipossui referênciareferência à à umauma

imagem

imagem, , parapara ser ser adicionadoadicionado aoao Form.Form.



 PodePode se se mutávelmutável ouou imutávelimutável 

 PermitePermite queque sejaseja determinadodeterminado o local o local dada imagemimagem:: 

 PermitePermite queque sejaseja determinadodeterminado o local o local dada imagemimagem::



 LAYOUT_CENTER LAYOUT_CENTER -- horizontalmente centralizadahorizontalmente centralizada 

 LAYOUT_DEFAULT LAYOUT_DEFAULT -- default, de default, de acordo com o containeracordo com o container 

 LAYOUT_LEFT LAYOUT_LEFT -- lado esquerdo da telalado esquerdo da tela 

 LAYOUT_NEWLINE_AFTER LAYOUT_NEWLINE_AFTER -- uma nova linha é criada após a imagemuma nova linha é criada após a imagem 

 LAYOUT_NEWLINE_BEFORE LAYOUT_NEWLINE_BEFORE -- uma nova linha é criada antes da imagemuma nova linha é criada antes da imagem 

Item

Item  ImageItemImageItem

protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Exibindo Imagem");

Image image = null;

try {

try {

image = Image.createImage("/java.png");

} catch (IOException e) {

e.printStackTrace(); }

ImageItem imageItem = new ImageItem("Java Logo",image,ImageItem.LAYOUT_CENTER,"(Java Logo)");

form.append(imageItem); display.setCurrent(form); }

Ticker Ticker



 TODOSTODOS osos DisplayablesDisplayables têmtêm um um títulotítulo e um e um

Ticker

Ticker opcionalopcional..



 Um Ticker é Um Ticker é apenasapenas um um textotexto queque ““andaanda” ”

continuamente

continuamente pelopelo Display.Display. continuamente

continuamente pelopelo Display.Display.



 DireçãoDireção e e velocidadevelocidade sãosão dependentesdependentes de de

implementação

implementação ((cadacada fabricantefabricante//modelomodelo podepode diferir

diferir).).



 É É exibidoexibido atravésatravés do do métodométodo setTickersetTicker do do

Displayable. Displayable.

Ticker Ticker

protected void startApp() throws

MIDletStateChangeException {

if (display==null) {

display = Display.getDisplay(this);

}

Form form = new Form("Exibindo Imagem");

Image image = null;

try {

try {

image = Image.createImage("/java.png");

} catch (IOException e) {

e.printStackTrace(); }

ImageItem imageItem = new ImageItem("Java

Logo",image,ImageItem.LAYOUT_CENTER,"(Java Logo)");

form.append(imageItem);

form.setTicker(new Ticker(“Exemplo de utilização de um Ticker”);

display.setCurrent(form); }

Ticker Ticker

No documento Felipe Guimarães (páginas 37-72)

Documentos relacionados