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

#ifndef __javax_swing_JMenuItem$1__
#define __javax_swing_JMenuItem$1__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace beans
    {
        class PropertyChangeEvent;
    }
  }
  namespace javax
  {
    namespace swing
    {
        class JMenuItem;
        class JMenuItem$1;
    }
  }
}

class javax::swing::JMenuItem$1 : public ::java::lang::Object
{

public: // actually package-private
  JMenuItem$1(::javax::swing::JMenuItem *);
public:
  void propertyChange(::java::beans::PropertyChangeEvent *);
public: // actually package-private
  ::javax::swing::JMenuItem * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JMenuItem$1__
