2012-02-24 30 views
0

第一個問題是addKeyListener確實會在我放置它的位置發生紅線。我在網上查看了各種不同的例子,但似乎我錯過了一些東西。當我按下ESCAPE鍵時,我無法訪問KeyPressed功能

這裏是我的代碼:

import net.rim.device.api.system.KeyListener; 
import net.rim.device.api.ui.Keypad; 

public class BBMIDLET extends javax.microedition.midlet.MIDlet implements KeyListener 

    public void startApp() { 
    Display.init(this); 

    addKeyListener(new TestKeyPadListener());  

    } 

    public class TestKeyPadListener implements KeyListener { 

    public boolean keyChar(char key, int status, int time) { 
     System.out.println("key: " + key); 
     return false; 
    } 

    public boolean keyDown(int keycode, int time) { 
     System.out.println("keycode: " + keycode); 
     if (Keypad.key(keycode) == Keypad.KEY_ESCAPE) { 
      System.out.println("Hi"); 
      return false; 
     } 
     return true; 
    } 

    public boolean keyUp(int keycode, int time) { 
     throw new UnsupportedOperationException("Not supported yet."); 
    } 

    public boolean keyRepeat(int keycode, int time) { 
     throw new UnsupportedOperationException("Not supported yet."); 
    } 

    public boolean keyStatus(int keycode, int time) { 
     throw new UnsupportedOperationException("Not supported yet."); 
    } 
} 
} 

在此先感謝

+0

_addKeyListener does redlined_這是否意味着代碼在您添加該語句時無法編譯? – gnat 2012-02-24 07:02:05

+0

是的,我的意思是說它將這條線視爲錯誤。 – Glenncito 2012-02-24 12:56:23

回答

1

addKeyListener(KeyListener l)不是javax.microedition.midlet.MIDletnet.rim.device.api.system.KeyListener的方法和你沒有別的地方在你BBMIDLET類,所以它是不確定的聲明。

+0

那麼我怎麼定義它呢? – Glenncito 2012-02-24 10:11:08

+2

您需要獲取或創建某種可以調用'addKeyListener'的GUI組件。我對移動開發沒有經驗,但是對於一個標準的Java應用程序來說,這個應用程序可以是擴展[java.awt.Component]的任何組件(http://docs.oracle.com/javase/6/docs/api/java/awt /Component.html)。 – ughzan 2012-02-24 10:54:28