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

#ifndef __javax_swing_plaf_metal_MetalPopupMenuSeparatorUI__
#define __javax_swing_plaf_metal_MetalPopupMenuSeparatorUI__

#pragma interface

#include <javax/swing/plaf/metal/MetalSeparatorUI.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
        class JComponent;
      namespace plaf
      {
          class ComponentUI;
        namespace metal
        {
            class MetalPopupMenuSeparatorUI;
        }
      }
    }
  }
}

class javax::swing::plaf::metal::MetalPopupMenuSeparatorUI : public ::javax::swing::plaf::metal::MetalSeparatorUI
{

public:
  MetalPopupMenuSeparatorUI();
  static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *);
private:
  static ::javax::swing::plaf::metal::MetalPopupMenuSeparatorUI * instance;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_plaf_metal_MetalPopupMenuSeparatorUI__
