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

#ifndef __javax_swing_JSpinner$ListEditor__
#define __javax_swing_JSpinner$ListEditor__

#pragma interface

#include <javax/swing/JSpinner$DefaultEditor.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
        class JSpinner;
        class JSpinner$ListEditor;
        class SpinnerListModel;
    }
  }
}

class javax::swing::JSpinner$ListEditor : public ::javax::swing::JSpinner$DefaultEditor
{

public:
  JSpinner$ListEditor(::javax::swing::JSpinner *);
  virtual ::javax::swing::SpinnerListModel * getModel();
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JSpinner$ListEditor__
