HTML TO TEXT CONVERTER SOURCE
 
 
/*Copyright@ Richardson Publications 2002
For Personal Use Only
Any sale or publication is strictly prohibited*/

import java.io.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class HTMLConverter extends Applet implements ActionListener
{
    String result = null;
    TextArea enterText = null;
    TextArea resultText = null;
    Button clickButton = null;
    HTMLConverter hc = null;
    String text = null;
    
    public void init ()
    {
        this.setLayout (new FlowLayout(FlowLayout.CENTER, 30, 10));
        
        hc = new HTMLConverter();
        enterText = new TextArea();
        resultText = new TextArea();
        clickButton = new Button ("Click Here");
        
        enterText.setBackground (Color.white);
        resultText.setBackground (Color.white);
        
        this.add(enterText);
        this.add(clickButton);
        this.add(resultText);

        clickButton.addActionListener(this);
        
        text = (String) getParameter ("text");
        if ( text != null)
        {
            enterText.setText ("<html>\n\n<body>\n\n\thello\n\n</body>\n\n</html>");
        }
    }    

    public void actionPerformed (ActionEvent e)
    {
        if (e.getSource() == clickButton)
        {
            result = hc.convert ( enterText.getText());    
            resultText.insert (result, 0);
        }    
    }
    
    public String convert (String s)
    {
        StringBuffer sb = new StringBuffer (s.length());
        StringReader sr = new StringReader(s);
        BufferedReader br = new BufferedReader (sr);
        String ss = null;
        
        try
        {
        
            while ( (ss = br.readLine()) != null)
            {
                for (int i = 0; i < ss.length(); i++)
                {
                    switch (ss.charAt(i))
                    {
                        case '<':
                            sb.append("&lt;");
                            break;    
                        case '>':
                            sb.append("&gt;");
                            break;
                        case '&':
                            sb.append("&amp;");
                            break;
                        case '\t':
                            sb.append("&nbsp;&nbsp;&nbsp;&nbsp;");
                            break;
                        default:
                        sb.append(ss.charAt(i));
                        break;
                    }
                }
            sb.append("<br>\n");
            }    
        
        }
        catch (Exception e)
        {
            System.out.print ("Parsing Exception: " +e.getMessage());
        }
        
        return sb.toString();
    }
}