2012-09-12 44 views
-1

我想補充的KeyListener獲得通過鍵盤輸入,所以我加的KeyListener,並實現它的方法,但是當我運行,按任意鍵它的工作原理,但在控制檯寫是這樣的:後KeyListener停止使用動作或鼠標偵聽器?

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet. 
at Calculator.keyReleased(Calculator.java:520) 
at java.awt.Component.processKeyEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Window.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) 
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) 
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) 
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) 
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$200(Unknown Source) 
at java.awt.EventQueue$3.run(Unknown Source) 
at java.awt.EventQueue$3.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$4.run(Unknown Source) 
at java.awt.EventQueue$4.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 

這keylistener工作正常,但當我點擊任何按鈕,它停止工作,我按鍵但沒有任何反應。 我的代碼:

@Override 
public void keyPressed(KeyEvent e) { 

    try{ 

     switch (e.getKeyCode()) 

{ 
case KeyEvent.VK_NUMPAD0: 
case KeyEvent.VK_0: 
    num0(); 
    break; 
case KeyEvent.VK_NUMPAD1: 
case KeyEvent.VK_1: 
    num1(); 
    break; 
case KeyEvent.VK_NUMPAD2: 
case KeyEvent.VK_2: 
    num2(); 
    break; 
case KeyEvent.VK_NUMPAD3: 
case KeyEvent.VK_3: 
    num3(); 
    break; 
case KeyEvent.VK_NUMPAD4: 
case KeyEvent.VK_4: 
    num4(); 
    break; 
case KeyEvent.VK_NUMPAD5: 
case KeyEvent.VK_5: 
    num5(); 
    break; 
case KeyEvent.VK_NUMPAD6: 
case KeyEvent.VK_6: 
    num6(); 
    break; 
case KeyEvent.VK_NUMPAD7: 
case KeyEvent.VK_7: 
    num7(); 
    break; 
case KeyEvent.VK_NUMPAD8: 
case KeyEvent.VK_8: 
    num8(); 
    break; 
case KeyEvent.VK_NUMPAD9: 
case KeyEvent.VK_9: 
    num9(); 
    break; 
case KeyEvent.VK_BACK_SPACE: 
    back(); 
    break; 
case KeyEvent.VK_DELETE: 
    clear(); 
    break; 
case KeyEvent.VK_ENTER: 
    equals(); 
    break; 
case KeyEvent.VK_ADD: 
    bAdd(); 
    break; 
case KeyEvent.VK_DECIMAL: 
    bDot(); 
    break; 
case KeyEvent.VK_MULTIPLY: 
     bMul(); 
    break; 
case KeyEvent.VK_SUBTRACT: 
    bSub(); 
    break; 
case KeyEvent.VK_DIVIDE: 
    bDiv(); 
    break; 
default: 

} 
} 
catch(UnsupportedOperationException ex){} 

} 

@Override 
public void keyReleased(KeyEvent e) { 
    throw new UnsupportedOperationException("Not supported yet.");// line 520 
} 
+3

如果您希望修復代碼,爲什麼只顯示一條錯誤消息呢? – raina77ow

+0

對於我們任何人來說,要有效地幫助您,我們需要上面顯示的堆棧跟蹤和生成它的代碼。 – Lipongo

回答

1

程序拋出異常

at Calculator.keyReleased(Calculator.java:520) 

它也引發了以下類型的異常:

java.lang.UnsupportedOperationException: Not supported yet. 

所以,看來你調用你的Calculator.java文件的第520行的例行程序尚未受支持。

如果您可以將方法發佈到打破方式,然後標記它打破的方向,我們可以進一步幫助您。

+0

這裏我的KeyListener的方法的代碼: 公共無效在keyPressed(KeyEvent的E){ \t嘗試{ \t \t \t \t開關(e.getKeyCode()) \t {// 我的情況下 默認: \t } } \t趕上(UnsupportedOperationException異常前){} } @Override public void keyReleased(KeyEvent e){ throw new UnsupportedOperationException(「Not supported yet。」); // line 520 } –

+0

@SudhirYadav編輯您的問題。你的代碼將會更好地被格式化 –