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

#ifndef __javax_swing_JTextField$2__
#define __javax_swing_JTextField$2__

#pragma interface

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

class javax::swing::JTextField$2 : public ::java::lang::Object
{

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

#endif // __javax_swing_JTextField$2__
