
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_event_KeyAdapter__
#define __java_awt_event_KeyAdapter__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace event
      {
          class KeyAdapter;
          class KeyEvent;
      }
    }
  }
}

class java::awt::event::KeyAdapter : public ::java::lang::Object
{

public:
  KeyAdapter();
  virtual void keyTyped(::java::awt::event::KeyEvent *);
  virtual void keyPressed(::java::awt::event::KeyEvent *);
  virtual void keyReleased(::java::awt::event::KeyEvent *);
  static ::java::lang::Class class$;
};

#endif // __java_awt_event_KeyAdapter__
