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

#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportChangeHandler__
#define __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportChangeHandler__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace event
      {
          class ChangeEvent;
      }
      namespace plaf
      {
        namespace basic
        {
            class BasicScrollPaneUI;
            class BasicScrollPaneUI$ViewportChangeHandler;
        }
      }
    }
  }
}

class javax::swing::plaf::basic::BasicScrollPaneUI$ViewportChangeHandler : public ::java::lang::Object
{

public:
  BasicScrollPaneUI$ViewportChangeHandler(::javax::swing::plaf::basic::BasicScrollPaneUI *);
  virtual void stateChanged(::javax::swing::event::ChangeEvent *);
public: // actually package-private
  ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportChangeHandler__
