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

#ifndef __javax_swing_JFileChooser$AccessibleJFileChooser__
#define __javax_swing_JFileChooser$AccessibleJFileChooser__

#pragma interface

#include <javax/swing/JComponent$AccessibleJComponent.h>
extern "Java"
{
  namespace javax
  {
    namespace accessibility
    {
        class AccessibleRole;
    }
    namespace swing
    {
        class JFileChooser;
        class JFileChooser$AccessibleJFileChooser;
    }
  }
}

class javax::swing::JFileChooser$AccessibleJFileChooser : public ::javax::swing::JComponent$AccessibleJComponent
{

public: // actually protected
  JFileChooser$AccessibleJFileChooser(::javax::swing::JFileChooser *);
public:
  virtual ::javax::accessibility::AccessibleRole * getAccessibleRole();
public: // actually package-private
  ::javax::swing::JFileChooser * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JFileChooser$AccessibleJFileChooser__
