一般在介面類中,因為介面類不是MIDlet的子類,所以需要獲得Display物件有兩個方法:
1、 傳遞MIDlet型別的物件
2、 傳遞Display型別的物件
下面就以傳遞Display物件為例來實現在介面類中進行切換。下面的程式為了簡單起見,以兩個Canvas介面為例來演示實際的傳遞,高階介面和這個使用完全一樣。
MIDlet中的程式碼實現:
Display display;
public MyMIDlet(){
display = Display.getDisplay(this);
//建立需要顯示的介面物件
FirstCanvas fc = new FirstCanvas(display);
//顯示介面
display.setCurrent(fc);
}
第一個介面類的程式碼實現:
public class FirstCanvas extends Canvas{
public FirstCanvas(Display display){
this.display = display;
/**繪製方法*/
public void paint(Graphics g){
g.drawString(“第一個介面”,30,40,Graphics.TOP | Graphics.LEFT);
/**事件處理*/
public void keyPressed(int keyCode){
display.setCurrent(new SecondCanvas(display)); //顯示下一個介面
第二個介面類的程式碼實現和上一個類似:
public SecondCanvas(Display display){
上面的程式碼演示瞭如何使用傳遞Display物件的形式,在介面類中實現切換介面。當然除了該方式以外,需要實現該功能的方式還有很多種,這裡只介紹這一種容易理解的實現方式。
一般在介面類中,因為介面類不是MIDlet的子類,所以需要獲得Display物件有兩個方法:
1、 傳遞MIDlet型別的物件
2、 傳遞Display型別的物件
下面就以傳遞Display物件為例來實現在介面類中進行切換。下面的程式為了簡單起見,以兩個Canvas介面為例來演示實際的傳遞,高階介面和這個使用完全一樣。
MIDlet中的程式碼實現:
Display display;
public MyMIDlet(){
display = Display.getDisplay(this);
//建立需要顯示的介面物件
FirstCanvas fc = new FirstCanvas(display);
//顯示介面
display.setCurrent(fc);
}
第一個介面類的程式碼實現:
public class FirstCanvas extends Canvas{
Display display;
public FirstCanvas(Display display){
this.display = display;
}
/**繪製方法*/
public void paint(Graphics g){
g.drawString(“第一個介面”,30,40,Graphics.TOP | Graphics.LEFT);
}
/**事件處理*/
public void keyPressed(int keyCode){
display.setCurrent(new SecondCanvas(display)); //顯示下一個介面
}
}
第二個介面類的程式碼實現和上一個類似:
Display display;
public SecondCanvas(Display display){
this.display = display;
}
上面的程式碼演示瞭如何使用傳遞Display物件的形式,在介面類中實現切換介面。當然除了該方式以外,需要實現該功能的方式還有很多種,這裡只介紹這一種容易理解的實現方式。