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

#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer__
#define __gnu_java_awt_peer_swing_SwingButtonPeer__

#pragma interface

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

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

public:
  SwingButtonPeer(::java::awt::Button *);
  virtual void setLabel(::java::lang::String *);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_peer_swing_SwingButtonPeer__
