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

#ifndef __javax_swing_JButton$AccessibleJButton__
#define __javax_swing_JButton$AccessibleJButton__

#pragma interface

#include <javax/swing/AbstractButton$AccessibleAbstractButton.h>
extern "Java"
{
  namespace javax
  {
    namespace accessibility
    {
        class AccessibleRole;
    }
    namespace swing
    {
        class JButton;
        class JButton$AccessibleJButton;
    }
  }
}

class javax::swing::JButton$AccessibleJButton : public ::javax::swing::AbstractButton$AccessibleAbstractButton
{

public: // actually protected
  JButton$AccessibleJButton(::javax::swing::JButton *);
public:
  virtual ::javax::accessibility::AccessibleRole * getAccessibleRole();
public: // actually package-private
  ::javax::swing::JButton * __attribute__((aligned(__alignof__( ::javax::swing::AbstractButton$AccessibleAbstractButton)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JButton$AccessibleJButton__
