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

#ifndef __javax_swing_LookAndFeel__
#define __javax_swing_LookAndFeel__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Component;
    }
  }
  namespace javax
  {
    namespace swing
    {
        class ComponentInputMap;
        class InputMap;
        class JComponent;
        class LookAndFeel;
        class UIDefaults;
      namespace text
      {
          class JTextComponent$KeyBinding;
      }
    }
  }
}

class javax::swing::LookAndFeel : public ::java::lang::Object
{

public:
  LookAndFeel();
  virtual ::javax::swing::UIDefaults * getDefaults();
  virtual ::java::lang::String * getDescription() = 0;
  static ::java::lang::Object * getDesktopPropertyValue(::java::lang::String *, ::java::lang::Object *);
  virtual ::java::lang::String * getID() = 0;
  virtual ::java::lang::String * getName() = 0;
  virtual jboolean getSupportsWindowDecorations();
  virtual void initialize();
  static void installBorder(::javax::swing::JComponent *, ::java::lang::String *);
  static void installColors(::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::String *);
  static void installColorsAndFont(::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  virtual jboolean isNativeLookAndFeel() = 0;
  virtual jboolean isSupportedLookAndFeel() = 0;
  static void loadKeyBindings(::javax::swing::InputMap *, JArray< ::java::lang::Object * > *);
  static ::javax::swing::ComponentInputMap * makeComponentInputMap(::javax::swing::JComponent *, JArray< ::java::lang::Object * > *);
  static ::java::lang::Object * makeIcon(::java::lang::Class *, ::java::lang::String *);
  static ::javax::swing::InputMap * makeInputMap(JArray< ::java::lang::Object * > *);
  static JArray< ::javax::swing::text::JTextComponent$KeyBinding * > * makeKeyBindings(JArray< ::java::lang::Object * > *);
  virtual void provideErrorFeedback(::java::awt::Component *);
  virtual ::java::lang::String * toString();
  virtual void uninitialize();
  static void uninstallBorder(::javax::swing::JComponent *);
  static void installProperty(::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::Object *);
  static ::java::lang::Class class$;
};

#endif // __javax_swing_LookAndFeel__