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

#ifndef __javax_swing_JTextField$1__
#define __javax_swing_JTextField$1__

#pragma interface

#include <javax/swing/text/TextAction.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace event
      {
          class ActionEvent;
      }
    }
  }
  namespace javax
  {
    namespace swing
    {
        class JTextField$1;
    }
  }
}

class javax::swing::JTextField$1 : public ::javax::swing::text::TextAction
{

public: // actually package-private
  JTextField$1(::java::lang::String *);
public:
  void actionPerformed(::java::awt::event::ActionEvent *);
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JTextField$1__
