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

#ifndef __javax_swing_JToggleButton$ToggleButtonModel__
#define __javax_swing_JToggleButton$ToggleButtonModel__

#pragma interface

#include <javax/swing/DefaultButtonModel.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
        class JToggleButton$ToggleButtonModel;
    }
  }
}

class javax::swing::JToggleButton$ToggleButtonModel : public ::javax::swing::DefaultButtonModel
{

public:
  JToggleButton$ToggleButtonModel();
  virtual void setPressed(jboolean);
  virtual jboolean isSelected();
  virtual void setSelected(jboolean);
private:
  static const jlong serialVersionUID = -1589950750899943974LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JToggleButton$ToggleButtonModel__
