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

#ifndef __javax_swing_ToolTipManager$insideTimerAction__
#define __javax_swing_ToolTipManager$insideTimerAction__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace event
      {
          class ActionEvent;
      }
    }
  }
  namespace javax
  {
    namespace swing
    {
        class ToolTipManager;
        class ToolTipManager$insideTimerAction;
    }
  }
}

class javax::swing::ToolTipManager$insideTimerAction : public ::java::lang::Object
{

public: // actually protected
  ToolTipManager$insideTimerAction(::javax::swing::ToolTipManager *);
public:
  virtual void actionPerformed(::java::awt::event::ActionEvent *);
public: // actually package-private
  ::javax::swing::ToolTipManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_ToolTipManager$insideTimerAction__
