2012-09-12 45 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编辑您的问题。你的代码将会更好地被格式化 –