We help IT Professionals succeed at work.

Make a URL appear as a working link in a textarea component

help_me
help_me asked
on
208 Views
Last Modified: 2010-04-16
I'm developing an applet which receives results from a database and then appends the results string to
a textarea component. The string contains a url which I want to appear as a working link when appended to the
textarea. I was thinking about a method which would allow you to append url objects to the textarea, but I cannot find anything, the only method I found was to append a string. Is there a solution to this or a possible work-around.
Ultimately I need to be able to link from the url which is retrieved from the database.

Thanks
Melanie
Comment
Watch Question

Commented:
You have to use a JFC Swing component HTML Text pane to do this instead of text area.
Or else, you can use html component from sun instead of text area.
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Please can you give me a url for the class description of the htmltextpane class, I have found textpane at:

http://www.dstc.uts.edu.au/java/swing-0.4.1/doc/api/com.sun.java.swing.basic.BasicTextPane.html

I found no reference to an html text pane, this is what I would like to use.

Thanks

Commented:
The following are the places to look for

a) SwingSet demo program file HtmlPane.java
   here is the code too

           URL url = new URL(swing.javaDocPath + "/packages.html");
           html = new JEditorPane(url);
           html.setEditable(false);
           html.addHyperlinkListener(this);
           JScrollPane scroller = new JScrollPane();
           scroller.setBorder(swing.loweredBorder);
           JViewport vp = scroller.getViewport();
           vp.add(html);
           vp.setBackingStoreEnabled(true);
           add(scroller, BorderLayout.CENTER);

b) Everything about JEditorPane
      http://java.sun.com/products/jfc/swingdoc-current/index.html


Commented:
Since you are not getting the data from a url, u need to
extend JEditorPane class, tweak some of its methods

Author

Commented:
Thanks for the code, could you please explain how I should tweak the editor pane constructor method so that it is able to append a string of database results. Once these results have been appended, I need the urls which were fetched to show up as working links, will the HyperlinkListener be able to look at the text in the editorpane and work out where the links are?

I have not been able to get the HyperlinkListener to work in the following test program. It gives me this error - Explicit cast needed to convert Applet1 to com.sun.java.swing.event.HyperlinkListener.

import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import java.lang.*;
import java.net.*;
import java.applet.*;
import java.util.*;

public class Applet1 extends Applet
{

public void init()
{
   
    try
    {
    URL url = new URL("http://www.ox.ac.uk");
    JEditorPane html = new JEditorPane(url);
    html.setEditable(false);
    html.addHyperlinkListener(this);
    JScrollPane scroller = new JScrollPane();
    scroller.setBorder(Swing.loweredBorder);
    JViewport vp = scroller.getViewport();
    vp.add(html);
    vp.setBackingStoreEnabled(true);
    add(scroller, BorderLayout.CENTER);
    }
   
    catch (java.lang.Exception ex)
    {
    ex.printStackTrace();
    }
     

}
}

Thanks for your help.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.