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

#ifndef __javax_swing_JSpinner__
#define __javax_swing_JSpinner__

#pragma interface

#include <javax/swing/JComponent.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      class JSpinner;
      namespace event
      {
        class ChangeListener;
      }
      namespace plaf
      {
        class SpinnerUI;
      }
      class JComponent;
      class SpinnerModel;
    }
  }
}

class javax::swing::JSpinner : public ::javax::swing::JComponent
{
public:
  JSpinner ();
  JSpinner (::javax::swing::SpinnerModel *);
  virtual void commitEdit ();
  virtual ::javax::swing::JComponent *getEditor () { return editor; }
  virtual void setEditor (::javax::swing::JComponent *);
  virtual ::javax::swing::SpinnerModel *getModel () { return model; }
  virtual void setModel (::javax::swing::SpinnerModel *);
  virtual ::java::lang::Object *getNextValue ();
  virtual ::java::lang::Object *getPreviousValue ();
  virtual ::javax::swing::plaf::SpinnerUI *getUI ();
  virtual ::java::lang::Object *getValue ();
  virtual void setValue (::java::lang::Object *);
  virtual ::java::lang::String *getUIClassID ();
  virtual void updateUI ();
  virtual void setUI (::javax::swing::plaf::SpinnerUI *);
  virtual void addChangeListener (::javax::swing::event::ChangeListener *);
  virtual void removeChangeListener (::javax::swing::event::ChangeListener *);
  virtual JArray< ::javax::swing::event::ChangeListener *> *getChangeListeners ();
public:  // actually protected
  virtual void fireStateChanged ();
  virtual ::javax::swing::JComponent *createEditor (::javax::swing::SpinnerModel *);
private:
  ::javax::swing::SpinnerModel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent )))) model;
  ::javax::swing::JComponent *editor;
  static const jlong serialVersionUID = 3412663575706551720LL;

  friend class javax_swing_JSpinner$ModelListener;
  friend class javax_swing_JSpinner$DateEditorFormatter;
  friend class javax_swing_JSpinner$DateEditor;
  friend class javax_swing_JSpinner$ListEditor;
  friend class javax_swing_JSpinner$NumberEditorFormatter;
  friend class javax_swing_JSpinner$NumberEditor;
  friend class javax_swing_JSpinner$DefaultEditor;
public:

  static ::java::lang::Class class$;
};

#endif /* __javax_swing_JSpinner__ */
