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

#ifndef __java_awt_event_ComponentEvent__
#define __java_awt_event_ComponentEvent__

#pragma interface

#include <java/awt/AWTEvent.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Component;
      namespace event
      {
          class ComponentEvent;
      }
    }
  }
}

class java::awt::event::ComponentEvent : public ::java::awt::AWTEvent
{

public:
  ComponentEvent(::java::awt::Component *, jint);
  virtual ::java::awt::Component * getComponent();
  virtual ::java::lang::String * paramString();
private:
  static const jlong serialVersionUID = 8101406823902992965LL;
public:
  static const jint COMPONENT_FIRST = 100;
  static const jint COMPONENT_LAST = 103;
  static const jint COMPONENT_MOVED = 100;
  static const jint COMPONENT_RESIZED = 101;
  static const jint COMPONENT_SHOWN = 102;
  static const jint COMPONENT_HIDDEN = 103;
  static ::java::lang::Class class$;
};

#endif // __java_awt_event_ComponentEvent__
