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

#ifndef __javax_swing_SpringLayout$DeferredDimension__
#define __javax_swing_SpringLayout$DeferredDimension__

#pragma interface

#include <javax/swing/Spring.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
        class SpringLayout$DeferredDimension;
    }
  }
}

class javax::swing::SpringLayout$DeferredDimension : public ::javax::swing::Spring
{

public:
  SpringLayout$DeferredDimension();
  virtual void setValue(jint);
  virtual jint getValue();
private:
  jint __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) value;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_SpringLayout$DeferredDimension__
