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

#ifndef __javax_swing_JSpinner$NumberEditor__
#define __javax_swing_JSpinner$NumberEditor__

#pragma interface

#include <javax/swing/JSpinner$DefaultEditor.h>
extern "Java"
{
  namespace java
  {
    namespace text
    {
        class DecimalFormat;
    }
  }
  namespace javax
  {
    namespace swing
    {
        class JSpinner;
        class JSpinner$NumberEditor;
        class SpinnerNumberModel;
    }
  }
}

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

public:
  JSpinner$NumberEditor(::javax::swing::JSpinner *);
  JSpinner$NumberEditor(::javax::swing::JSpinner *, ::java::lang::String *);
  virtual ::java::text::DecimalFormat * getFormat();
  virtual ::javax::swing::SpinnerNumberModel * getModel();
private:
  static const jlong serialVersionUID = 3791956183098282942LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JSpinner$NumberEditor__
