couldn't output the output in gui window
 
this is the code , i want the code to output in gui window.i tried
JTextArea but couldn't
get output on window.suggest me what to use for this particular code
// Fig. 14.37: FileDemonstration.java
// Demonstrating the File class.
import java.lang.reflect.*;
import javax.swing.*;
public class Reverse extends JFrame
{
   public Reverse()
   {
     analyze();
   } // end Reverse constructor
//this method prints constructors of class
 public static void printConstructors(Class cl)
{
   Constructor[] constructors = cl.getDeclaredConstructors();
   for (int i=0;i<constructors.length;i++)
   {
    Constructor c = constructors[i];
    String name = c.getName();
    System.out.print(Modifier.toString(c.getModifiers()));
    System.out.print("   "+ name + "(");
  //print parameter type
   Class[] paramTypes = c.getParameterTypes();
  for(int j=0;j< paramTypes.length ;j++)
  {
   if(j>0) System.out.print(",");
    System.out.print(paramTypes[j].getName());
   }
  System.out.println(");") ;
    }
}
//this method prints method of class
  public static void printMethods(Class cl)
{
Method[] methods = cl.getDeclaredMethods();
 for(int i=0;i<methods.length;i++)
 {
  Method m = methods[i];
 Class retType = m.getReturnType();
  String name =m.getName();
 //print modifiers, return type and method name
System.out.print(Modifier.toString(m.getModifiers()));
System.out.print("   "+ retType.getName() +" "+ name + "(");
  //print paramters type
Class[] paramTypes = m.getParameterTypes();
for(int j=0;j<paramTypes.length;j++)
 {
  if(j>0) System.out.print(",  ");
  System.out.print(paramTypes[j].getName());
 }
  System.out.println(");");
 }
}
//this method prints fields of class
public static void printFields(Class cl)
{
 Field[] fields = cl.getDeclaredFields();
for (int i=0; i< fields.length;i++)
 {
  Field f = fields[i];
  Class type =f.getType();
  String name = f.getName();
  System.out.print(Modifier.toString(f.getModifiers()));
  System.out.println("   " + type.getName() + " " + name + ";");
 }
}
public void analyze()
{
String name;
 name = JOptionPane.showInputDialog
          ("class name (java.util.date)): ");
try
 {
  //print class name and superclass name
Class cl = Class.forName(name);
Class supercl =cl.getSuperclass();
System.out.print("\nclass " + name);
if (supercl !=null && supercl != Object.class)
{
  System.out.print(" extends " + supercl.getName());
}
System.out.print("\n{\n");
printConstructors(cl);
System.out.println();
printMethods(cl);
System.out.println();
printFields(cl);
System.out.println("}");
  }
  catch( ClassNotFoundException e)  {e.printStackTrace();}
 System.exit(0);
}//end of analyze
} // end class reverse