在編寫手機程序時,經常要進行各個屏幕間的切換。一開始不知道怎麼樣去做,這兩天看了一個例子,很簡單,但很能說明問題。總結一下。如有不妥之外,請高手糾正!
功能:在主程序中有多個按鈕,每一個按鈕對應一個功能,每一個功能要不同的屏幕(元素)表現出來。
實現:
一、主程序中必然定義了一個Display對像,如private Display display,它表示當前的屏幕。還有一些Displayable對像。如Form,TextFIEld等都是Displayable的子類。在主程序中通過dipslay.serCurrent(Displayable實例名); 即可將當Displayable實例加入當前的屏幕。以下程序:
private Display display;
private Form form = new Form(“一個Form“);
public void startApp()
{
display.setCurrent(form);
}
作用是將form添加到當前的屏幕當中。
二、要想進行屏幕間的切換,只要將你想顯示的東東放到到主程序的display對象中即可。主程序中定義了一個display,則要在另一個屏幕(我姑且把它稱之為目標屏幕)中引用到主程序的display。
開發環境:Win2000 server+Eclipse+WTK2.1
用以下代碼說明:
MainMIDlet.Java:主程序,一個標准的MIDlet。
import Javax.microedition.midlet.MIDlet;
import Javax.microedition.lcdui.*;
public MainMIDlet.form;
從字面意思不難理解,原來是把主程序的form當成parent(父母),這樣就得到當前屏幕的前一個屏幕中所顯示的內容!!
然後在commandAction中,如果backCommand按下了,則執行display.serCurrent(parent);這樣,又把原來的屏幕給show出來了:)