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

#ifndef __javax_swing_JTable$NumberCellRenderer__
#define __javax_swing_JTable$NumberCellRenderer__

#pragma interface

#include <javax/swing/table/DefaultTableCellRenderer.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
        class JTable;
        class JTable$NumberCellRenderer;
    }
  }
}

class javax::swing::JTable$NumberCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer
{

public:
  JTable$NumberCellRenderer(::javax::swing::JTable *);
public: // actually package-private
  ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_JTable$NumberCellRenderer__
