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

#ifndef __javax_swing_JComboBox$1__
#define __javax_swing_JComboBox$1__

#pragma interface

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

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

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

#endif // __javax_swing_JComboBox$1__
