midlet development j2me
TRANSCRIPT
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 1/33
MIDPGUIDevelopment:
Alert,List,Form,TextBox JussiPohjolainen
TampereUniversityofAppliedSciences
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 2/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 3/33
TextBox
• Togettheuserinput• TextBox a = new TextBox(String
title, String text, int maxSize,
int constraints)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 4/33
TypesandFlags
• Types
– TextField.ANY – TextField.NUMERIC – TextField.DECIMAL – TextField.PHONENUMBER – TextField.EMAILADDR – TextField.URL
• Flags – TextField.PASSWORD
– TextField.UNEDITABLE
– TextField.NON_PREDICTIVE
– TextField.INITIAL_CAPS_WORD
– TextField.
INITIAL_CAPS_SENTENCE
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 5/33
TextBoxUsage
TextBox textbox =
new TextBox("Sähköposti",
"",
64,
TextField.EMAILADDR |
TextField.PASSWORD);
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 6/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 7/33
Alerts
• Therearetwotypesofalerts – TimedAlert
• Displayedcertainamountofme
– ModalAlert• Demandsuserconfirmaon
ModalAlert
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 8/33
Alert-class
• Constructor – public Alert(String title, StringalertText, Image alertImage, AlertType alerttype);!
• Methods – setTimeOut(...)! – setTimeOut(Alert.Forever)! – addCommand(...)!
• AlertTypes – ALARM, CONFIRMATION, ERROR, INFO,WARNING!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 9/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 10/33
EXCLUSIVE,MULTIPLEandIMPLICIT
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 11/33
ConstrucngLists
• Whenyoucreatealist,youdefinelist's
– type(EXCLUSIVE,MULTIPLE,IMPLICIT)
– tle – stringelementsandimages(voluntary)
• API:– public List(String title, int type):
– public List(String title, int type, String [] stringelements, Image
[] imageElements);
• Scrollingisautomacallyavailable
• Itispossiblytoaddelementstothelistwithappend-
method.
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 12/33
ListExample1
public class MyList extends MIDlet{
private List mList;
public MyList() {
mList = new List(”Wanna Buy?”, Choice.MULTIPLE);
mList.append(“Herring”, null);
mList.append(“Goose Liver”, null);
mList.append(“Jelly”, null);
}
public void startApp() {
Display.getDisplay(this).setCurrent(mList);
}
public void destroyApp(boolean unconditional) {}
public void pauseApp() {}
}
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 13/33
ListExample2
public MyList() {
String [] elements =
{"hyytelöä", "kananmaksaa",
"ituja"};
mLista = new List("Haluatko
ostaa?", Choice.MULTIPLE,
elements, null);
}
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 14/33
AddingandRemovingListelements
• Itispossibletoaddandremovelistelements
• Theelementsareaccessiblebyindex(0...n)
• Replacingaelement:set(...)
• Addingelement:append(...)
• Addingelementtoacertainplace:insert(...)
• Findingelement:String getString(int n)
• Removingelement:void delete(int n)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 15/33
MIDP2.0List
• Howdoyoutreattheelements,iftheydon't
fitintomobiledevice'sscreen?
– setPolicy(...);• Choice.TEXT_WRAP_ON,Choice.TEXT_WRAP_OFF,Choice.TEXT_WRAP_DEFAULT
• Changingthefont: – setFont(...)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 16/33
ListSelecon
• Howtofindoutwhatelementuserselected? – public boolean isSelected(int i)! – public int getSelectedIndex()! – public void setSelectedIndex(int i, boolean s)!
• SeeListExample.java
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 17/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 18/33
IntrotoForm
• FormisaGUI-componentthatcanholdotherGUI
components
• TheseotheGUI-componentsarecalleditems.
• Iftherearemanyitems,theformwillprovidescrollingmechanism.
• Constructors: – public Form(String title)! – public Form(String title, Item[] items)!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 19/33
HandlingItems
• AddingItemstotheForm: – Form a = new Form(“otsikko”);! – a.append(Item item);! – a.append(String str);! – a.append(Image image);!
• Everyitemhasanindex: – a.set(int index, Item item)! – a.insert(int index, Item item)! – a.delete(int index)!
• Othermethods: – int size();! – Item get(int index)!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 20/33
SimpleExample
mForm = new Form("Otsikko");
mForm.append("moi");
mForm.append("hei");
mForm.append("tere");
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 21/33
UsingItems
• Therearemanyitems.
• javax.microedition.lcdui.Item:! – ChoiceGroup! – CustomItem // We will look this..! – DateField! – Gauge! – ImageItem // .. and this later! – Spacer! – StringItem ! – TextField!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 22/33
ItemLayout
• EveryFormitemcanhavealayout:
– LAYOUT_LEFT! – LAYOUT_RIGHT! – LAYOUT_CENTER
! – ...!
• SeeAPI!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 23/33
UsingItemLayout
StringItem layoutLeft = new StringItem("Layout: ", "LEFT");
layoutLeft.setLayout(Item.LAYOUT_LEFT);
StringItem layoutCenter = new StringItem("Layout: ", "CENTER");
layoutCenter.setLayout(Item.LAYOUT_CENTER);
StringItem layoutRight = new StringItem("Layout: ", "RIGHT");
layoutRight.setLayout(Item.LAYOUT_RIGHT);
mForm.append(layoutLeft);
mForm.append(layoutCenter);
mForm.append(layoutRight);
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 24/33
StringItem
• Representsasimple“Label”
Form form = new Form("Title");
StringItem st = new StringItem("Label: ";
"Value");
form.append(stringItem);
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 25/33
Item:Spacer
• Spacerprovidesemptyspaceintheform.
– Spacer empty = new Spacer(100,50); !
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 26/33
Item:TextField
• TextField: – public TextField(String label,String text, int
maxSize, intconstraints)!
• Constraints(sameasinTextBox) – ANY, NUMERIC,DECIMAL,PHONENUMBER,EMAILADDR, URL!
– PASSWORD, SENSITIVE;UNEDITABLE...!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 27/33
Item:DateField
• DateandTimeinput. – public DateField(String label, int mode)! – public DateField(String label, int mode,TimeZone timezone)!
• mode – DATE, TIME, DATE_TIME!
• GetandSet-methods: – public Date getDate()! – public void setDate()!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 28/33
DateFieldImages
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 29/33
Item:Gauge
• Gaugepresentsintegerinagraphicalform.– public Gauge(String label, boolean interactive,int maxValue, int initialValue)
• Byusingparameterinteracveitispossibletodefine
cantheusermodifythegauge.• InialValuecanalsobe:
• CONTINUOUS_IDLE !• INCREMENTAL_IDLE !• CONTINUOUS_RUNNING !• INCREMENTAL_UPDATING !
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 30/33
GaugeImages
Gauge kake1 = new Gauge("Editoitava", true, 100, 0);
Gauge kake2 = new Gauge("Ei-editoitava", false, 100,
50);
Gauge kake3 = new Gauge("INCREMENTAL_UPDATING",
false, Gauge.INDEFINITE,
Gauge.INCREMENTAL_UPDATING);
Gauge kake6 = new Gauge("CONTINUOUS_RUNNING",false, Gauge.INDEFINITE,
Gauge.CONTINUOUS_RUNNING);
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 31/33
Item:ChoiceGroup
• LikeList – public ChoiceGroup(String label,int choiceType, String []
elements, Image[] imageElements)!• Choicetype
– EXCLUSIVE! – MULTIPLE! – MIDP 2.0: POPUP!
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 32/33
ChoiceGroupImages
String [] lista = {"suomi", "ruotsi"};
ChoiceGroup choicegroup = new ChoiceGroup("Valitse
maa", Choice.POPUP, lista, null);
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 33/33
ItemsandEventHandling
• InsteadofusingCommandListeneryounow
useItemStateListener.
• Settheeventsourcetoformandthelistener
hastoimplementItemStateListenerinterface.• Theinterfacehasonlyonemethod:
– itemStateChanged(Item item)!• Example