Programação para dispositivos
g
ç
p
p
Móveis
Prof. Rogério Celestino dos Santos
INTERFACE DE USUÁRIO
MIDP
List
A classe List é uma subclasse de Screen e fornece uma lista de escolhas
escolhas
Strings
Imagensg
Este objeto pode assumir três modelos:
IMPLICIT
EXCLUSIVE
MULTIPLE
Mudando apenas um parâmetro você pode variar de uma lista
Mudando apenas um parâmetro você pode variar de uma lista simples para uma lista exclusiva (o rádio button) ou até uma lista múltipla (checkbox)
O método getSelectedIndex() retorna o índice do elemento atualmente selecionado para os tipos IMPLICIT e EXCLUSIVE atua e te se ec o ado pa a os t pos C e C US
Lista - Implícitas
Permite que o usuário selecione um elemento da lista
Não precisa conter comandos associados
A seleção implica em notificação de um listner
associado
Usado para criar menus de opções
Quando usuário executar o botão "select", o método
dA ti () d l Li t á h d
commandAction() da classe List será chamada.
O comando padrão é List.SELECT_COMMAND
Lista - Implícitas
String[] elements = {"Item1","Item2","Item3","Item4"}; List lista = new List("Algum Titulo", List.IMPLICIT, elements, null);
Exercício
Criar um MIDlet que contenha uma lista como no
l t i
exemplo anterior
Lista - Múltiplas
Permite que o usuário selecione mais de uma dos
l t d li t
elementos da lista
O ét d tS l t dFl () t t ib t d
O método getSelectedFlags() retorna um atributo do
tipo boolean contendo o estado dos elementos
O método isSelected(int index) retorna o estado do
elemento na posição de índice dada elemento na posição de índice dada
Lista - Múltiplas
String[] elements = {"Item1","Item2","Item3","Item4"}; List lista = new List("Algum Titulo" List MULTIPLE List lista = new List( Algum Titulo , List.MULTIPLE,
elements, null);
Exercício
Modificar o MIDlet para que seja uma lista Múltipla
Lista - Exclusiva
Permite que o usuário selecione um e apenas um dos
l t d li t
elementos da lista
String[] elements {"Item1" "Item2" "Item3" "Item4"} String[] elements = {"Item1","Item2","Item3","Item4"}; List lista = new List("Algum Titulo", List.EXCLUSIVE,
elements, null);
Exercício
Modificar o MIDlet para que seja uma lista Exclusiva
Exercício Avançado
Crie um lista implícita com os itens “Alert” e “Form”. Quando for selecionado o “Alert” irá apresentar um alerta na tela e quando for selecionado o Alert irá apresentar um alerta na tela e quando for
selecionado”Form” será apresentado um form na tela. Crie um comando sair associado ao list, ao alert e ao form. O sair da lista irá sair a
aplicação e o sair de alert e do form irá retornar ao list. p ç
TextBox
A classe TextBox é a subclasse de Screen que pode
d bt t d d t t d á i
ser usada para se obter a entrada de texto do usuário
P it á i i dit t t É
Permite que o usuário incorpore e edite o texto. É
similar à classe TextField pois permite a entrada de constraints e de modalidades
constraints e de modalidades
Sua diferença em relação a classe TextField é que o
Sua diferença em relação a classe TextField é que o
usuário pode inserir uma nova linha (quando a constraint da entrada é informada))
Textbox
Parâmetros
ANY: entrada de dados de qualquer tipo
NUMERIC: Somente inteiros tanto positivo quanto negativo
negativo
URL: Somente entradas de urls
PHONENUMBER: entrada de telefone PHONENUMBER: entrada de telefone EMAILADDR: somente email
PASSWORD: para entrada de senhas, vale lembrarPASSWORD: para entrada de senhas, vale lembrar que os caracteres tem a mesma característica no HTML, onde estes se transformam em asteriscos.
TextBox
TextBox box = new TextBox("Algum Título", "Algum Texto", 30, TextField.ANY);
ChoiceGroup
Um componente ChoiceGroup representa grupos de
lh l i d
escolhas selecionadas
A escolha pode conter um texto, uma imagem ou
ambas ambas
As escolhas podem ser EXCLUSIVE ou MULTIPLE
Caso m objeto do tipo ChoiceGro p seja m tipo de
Caso um objeto do tipo ChoiceGroup seja um tipo de
POPUP, somente uma opção poderá ser selecionada
Uma seleção de popup será exibida quando este item Uma seleção de popup será exibida quando este item
for selecionado
Cabe ao usuário efetuar uma única escolha A opção exibida é sempre a seleção escolhida
ChoiceGroup
O método getSelectedIndex() retorna o índice do
l t l i d d Ch i G
elemento selecionado de um ChoiceGroup
O ét d tS l t dFl () t d
O método getSelectedFlags() retorna um grupo de
atributos do tipo boolean que corresponde aoestado de cada um dos elementos
de cada um dos elementos
O método isSelected(int index) retorna o estado de
O método isSelected(int index) retorna o estado de
um elemento a partir da posição informada no atributo index
ChoiceGroup
ChoiceGroup choiceExclusive = new
ChoiceGroup("Exclusive", Choice.EXCLUSIVE); ChoiceGroup( Exclusive , Choice.EXCLUSIVE); choiceExclusive.append("Male", null);
choiceExclusive.append("Female", null); f d( h i l i )
form.append(choiceExclusive);
DateField
O componente DateField é utilizado para as entradas
d d t h
de data e hora
Pode conter uma entrada de data (modo DATE), uma
entrada de hora (modo TIME) ou ambas (modo entrada de hora (modo TIME) ou ambas (modo DATE_TIME)
O método getDate() retorna o valor atual de um item e
O método getDate() retorna o valor atual de um item e
retornará null caso este item não seja inicializado.
Caso o modo do DataField seja DATE, a hora do j ,
componente irá retornar zero
Se o modo for TIME, a data do componente é definido
para "Janeiro 1, 1970".
DateField
DateField dateonly = new DateField("Birthday (DATE)", DateField.DATE); DateField timeonly = new DateField("Set Alarm (TIME)", DateField.TIME); DateField datetime =
new DateField("Departure (DATE_TIME)", DateField.DATE_TIME); Form.append(dateonly);
d( i l ) Form.append(timeonly); Form.append(datetime);
StringItem
Um componente StringItem é um componente somente de leitura Sendo composto de um label e um texto
leitura. Sendo composto de um label e um texto
Um objeto do tipo StringItem, opcionalmente, permite um j p g p p argumento que representa a aparência
O modo de aparência pode ser definido atra és das constantes
O modo de aparência pode ser definido através das constantes
Item.PLAIN,
Item.HYPERLINKItem.HYPERLINK
Item.BUTTON
Caso o modo da aparência seja do tipo HYPERLINK ou BUTTON, o comando padrão e o ItemCommandListener precisam ser definidos no item
p ec sa se de dos o te
StringItem
StringItem plain = new StringItem("Plain", "Plain Text", Item.PLAIN); StringItem hyperlink =
new StringItem("Hyperlink", "http://www.sun.com", Item.HYPERLINK); hyperlink.setDefaultCommand(new Command("Set", Command.ITEM, 0));
StringItem button = new StringItem("Button", "Click me", Item.BUTTON);
b f l d( d( d 0))
button.setDefaultCommand(new Command("Set", Command.ITEM, 0)); append(plain);
append(hyperlink); append(button); append(button);
ImageItem
O componente ImageItem é uma imagem gráfica que
d l d t t l
pode ser colocada em um componente, tal como um Form
O objeto ImageItem permite um objeto do tipo layout
O objeto ImageItem permite um objeto do tipo layout
como parâmetro (formato de um item dentro de um objeto do tipo Form)
objeto do tipo Form)
public ImageItem( String label, Image img, int layout int layout, String altText) 23
ImageItem
Outro construtor aceita uma modalidade de
ê i d d d i t t ib t
aparência, podendo ser um dos seguintes atributos definidos:
Item PLAIN Item.PLAIN
Item.HYPERLINK Item BUTTONItem.BUTTON
public ImageItem(String label, Image image, int layout, String altText String altText, int appearanceMode) 24
ImageItem
try {
Image img = Image createImage("/java jpg"); Image img = Image.createImage( /java.jpg );
ImageItem image = new ImageItem("IMG AULA IH", img, Item.LAYOUT_CENTER, “JAVA Logo");
d(i ) append(image);
} catch (Exception e){ e.printStackTrace(); }