高級界面實現頁面之間的跳轉
作者:leilu200… 文章來源:leilu2008 更新時間:2007-10-2 10:08:27
230
package test;
import Java.io.IOException;
import Javax.microedition.lcdui.Command;
import Javax.microedition.lcdui.CommandListener;
import Javax.microedition.lcdui.Display;
import Javax.microedition.lcdui.Displayable;
import Javax.microedition.lcdui.Image;
import Javax.microedition.lcdui.List;
import Javax.microedition.midlet.MIDlet;
import Javax.microedition.midlet.MIDletStateChangeException;
/** *//**
*
* @author leilu
*
*/
public class MainPage extends MIDlet implements CommandListener
...{
// m_cmdExit
private Command m_cmdExit = null;
// m_cmdOK
private Command m_cmdOK = null;
// Display
private Display display = null;
// list
private List list = null;
//
private Image icon = null;
public MainPage()
...{
super();
}
protected void startApp() throws MIDletStateChangeException
...{
// display
display = Display.getDisplay(this);
// m_cmdExit
m_cmdExit = new Command("Exit", Command.EXIT, 1);
// m_cmdOK
m_cmdOK = new Command("OK", Command.OK, 1);
// 創建圖像
try
...{
icon = Image.createImage("/Icon.png");
}
catch (IOException e)
...{
// TODO Auto-generated catch block
e.printStackTrace();
}
// list
list = new List("主界面", List.EXCLUSIVE);
list.append("FirstPage", icon);
list.append("Secondpage", icon);
// 增加按鈕
list.addCommand(m_cmdExit);
list.addCommand(m_cmdOK);
// 監聽
list.setCommandListener(this);
// 顯示
display.setCurrent(list);
}
protected void pauseApp()
...{
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException
...{
}
public void commandAction(Command c, Displayable d)
...{
String cmd = c.getLabel();
if (cmd == "OK")
...{
switch (((List) d).getSelectedIndex())
...{
case 0:
FirstPage first = new FirstPage(display, list);
display.setCurrent(first);
break;
case 1:
SecondPage second = new SecondPage(display, list);
display.setCurrent(second);
default:
break;
}
}
else if (cmd == "Exit")
...{
try
...{
destroyApp(false);
}
catch (MIDletStateChangeException e)
...{
e.printStackTrace();
}
notifyDestroyed();
}
}
}
package test;
import Java.io.IOException;
import Javax.microedition.lcdui.Command;
import Javax.microedition.lcdui.CommandListener;
import Javax.microedition.lcdui.Display;
import Javax.microedition.lcdui.Displayable;
import Javax.microedition.lcdui.Form;
import Javax.microedition.lcdui.Image;
import Javax.microedition.lcdui.List;
import Javax.microedition.lcdui.Ticker;
public class FirstPage extends Form implements CommandListener
...{
// TICKER_TEXT滾動文字
private static final String TICKER_TEXT = "這是一個滾動條的例子正在滾動,可以一直滾動除非有觸發了停止事件";
// display
private Display display;
//
private Ticker ticker = null;
// m_cmdBack
private Command m_cmdBack = null;
//list
private List list= null;
public FirstPage(Display display,Displayable list)
...{
super("FirstPage");
//
this.list = (List)list;
this.display= display;
m_cmdBack = new Command("Back", Command.BACK, 1);
ticker = new Ticker(TICKER_TEXT);
this.setTicker(ticker);
//增加圖片
Image icon = null;
try
...{
icon = Image.createImage("/Java.png");
}
catch (IOException e)
...{
e.printStackTrace();
}
this.append(icon);
//增加按鈕
this.addCommand(m_cmdBack);
this.setCommandListener(this);
//顯示FirstPage
display.setCurrent(this);
}
public void commandAction(Command c, Displayable d)
...{
if (m_cmdBack == c)
...{
display.setCurrent(list);
}
}
}
package test;
import Javax.microedition.lcdui.Alert;
import Javax.microedition.lcdui.AlertType;
import Javax.microedition.lcdui.Command;
import Javax.microedition.lcdui.CommandListener;
import Javax.microedition.lcdui.Display;
import Javax.microedition.lcdui.Displayable;
import Javax.microedition.lcdui.Form;
import Javax.microedition.lcdui.List;
import Javax.microedition.lcdui.TextFIEld;
public class SecondPage extends Form implements CommandListener
...{
// display
private Display display;
// Back
private Command m_cmdBack;
// Alert
private Command m_cmdAlert;
// list
private List list = null;
public SecondPage(Display display, Displayable list)
...{
super("Second");
this.display = display;
this.list = (List) list;
//
m_cmdBack = new Command("Back", Command.BACK, 1);
m_cmdAlert = new Command("Alert", Command.SCREEN, 1);
this.append(new TextFIEld("E_mail", "
[email protected]", 15,
TextFIEld.EMAILADDR));
// 增加按鈕
this.addCommand(m_cmdBack);
this.addCommand(m_cmdAlert);
this.setCommandListener(this);
// 顯示Form屏幕
display.setCurrent(this);
}
public void commandAction(Command c, Displayable d)
...{
if (m_cmdAlert == c)
...{
// 創建要顯示的圖標
// 創建一個Alert屏幕對象,要顯示的圖標為 img
Alert info = new Alert("This is a Alert Example");
info.setType(AlertType.INFO);
// 設置顯示時間
// info.setTimeout(Alert.FOREVER);
info.setTimeout(3000);
// 顯示Alert屏幕
display.setCurrent(info);
}
if (m_cmdBack == c)
...{
display.setCurrent(list);
}
}
}