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

#ifndef __gnu_java_awt_peer_swing_SwingCheckboxPeer__
#define __gnu_java_awt_peer_swing_SwingCheckboxPeer__

#pragma interface

#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace peer
        {
          namespace swing
          {
              class SwingCheckboxPeer;
          }
        }
      }
    }
  }
  namespace java
  {
    namespace awt
    {
        class Checkbox;
        class CheckboxGroup;
    }
  }
}

class gnu::java::awt::peer::swing::SwingCheckboxPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
{

public:
  SwingCheckboxPeer(::java::awt::Checkbox *);
  virtual void setCheckboxGroup(::java::awt::CheckboxGroup *);
  virtual void setLabel(::java::lang::String *);
  virtual void setState(jboolean);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_peer_swing_SwingCheckboxPeer__
